js识别不同浏览器基于userAgent做判断
检测浏览器,注意浏览器判断顺序,主要是基于userAgent做判断。
//检测浏览器
varclient=function(){
varengine={
ie:0,
gecko:0,
webkit:0,
khtml:0,
opera:0,
ver:null
};
varbrowser={
//浏览器
ie:0,
firefox:0,
safari:0,
konq:0,
opera:0,
chrome:0,
ver:null
};
varua=navigator.userAgent;
//浏览器检测有顺序
if(window.opera){//opera伪装,所以优先检测
engine.ver=browser.ver=window.opera.version();
engine.opera=browser.opera=parseFloat(engine.ver);
}elseif(/AppleWebKit\/(\S+)/.test(ua)){
engine.ver=RegExp["$1"];
engine.webkit=parseFloat(engine.ver);
//确定是Chrome还是Safari
if(/Chrome\/(\S+)/.test(ua)){
browser.ver=RegExp["$1"];
browser.chrome=parseFloat(browser.ver);
}elseif(/Version\/(\S+)/.test(ua)){
browser.ver=RegExp["$1"];
browser.safari=parseFloat(browser.ver);
}else{
//近似地确定版本号
varsafariVersion=1;
if(engine.webkit<100){
safariVersion=1;
}elseif(engine.webkit<312){
safariVersion=1.2;
}elseif(engine.webkit<412){
safariVersion=1.3;
}else{
safariVersion=2;
}
browser.safari=browser.ver=safariVersion;
}
}elseif(/KHTML\/(\S+)/.test(ua)||/Konqueror\/([^;]+)/.test(ua)){
engine.ver=browser.ver=RegExp["$1"];
engine.khtml=browser.konq=parseFloat(engine.ver);
}elseif(/rv:([^\)]+)\)Gecko\/\d{8}/.test(ua)){
engine.ver=RegExp["$1"];
engine.gecko=parseFloat(engine.ver);
//确定是不是Firefox
if(/Firefox\/(\S+)/.test(ua)){
browser.ver=RegExp["$1"];
browser.firefox=parseFloat(browser.ver);
}
}elseif(/MSIE([^;]+)/.test(ua)){
engine.ver=browser.ver=RegExp["$1"];
engine.ie=browser.ie=parseFloat(engine.ver);
}
return{
engine:engine,
browser:browser
};
}();
//调用
if(client.engine.webkit){//ifit'sWebKit
if(client.browser.chrome){
//执行针对Chrome的代码
}elseif(client.browser.safari){
//执行针对Safari的代码
}
}elseif(client.engine.gecko){
if(client.browser.firefox){
//执行针对Firefox的代码
}else{
//执行针对其他Gecko浏览器的代码
}
}热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下