JQUERY1.6使用方法四检测浏览器
2023-06-13 09:14:31 时间
userAgent=navigator.userAgent,//UserAgent中文名为用户代理,简称UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
下面分别是各个浏览器的navigator.userAgent
//Mozilla/5.0(Windows;U;WindowsNT5.1;zh-CN)AppleWebKit/533.21.1(KHTML,likeGecko)Version/5.0.5Safari/533.21.1--safari
//Mozilla/5.0(WindowsNT5.1)AppleWebKit/535.1(KHTML,likeGecko)Chrome/13.0.782.220Safari/535.1--chrome
//Opera/9.80(WindowsNT5.1;U;EditionNext;zh-cn)Presto/2.8.158Version/11.50--opera
//Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;.NETCLR2.0.50727;.NETCLR3.0.4506.2152;.NETCLR3.5.30729;InfoPath.1;.NET4.0C;.NET4.0E;InfoPath.2)---ie
//Mozilla/5.0(Windows;U;WindowsNT5.1;zh-CN;rv:1.9.2.24)Gecko/20111103Firefox/3.6.24--firefox
//用于匹配响应浏览器表示的正则
rwebkit=/(webkit)[\/]([\w.]+)/,//webkit
ropera=/(opera)(?:.*version)?[\/]([\w.]+)/,//opera
rmsie=/(msie)([\w.]+)/,//ie
rmozilla=/(mozilla)(?:.*?rv:([\w.]+))?/,//mozilla
通过userAgent,我们可以看到chrome可以通过以下方式匹配到,但是因为和safari一样,都带有“safari”,我们可以把它放在rwebkit.前进行匹配
rchrome=/(Chrome)[\/]([\w.]+)/
同样firefox也可以这么做,把它放在rmozilla前面进行判断
rfirefox=/(Firefox)[\/]([\w.]+)/
uaMatch:function(ua){//主要是获得的浏览器的类型和版本
ua=ua.toLowerCase();//参数为navigator.userAgent。转换成小写,当然也可以在正则匹配里声明不区分大小写(如/(webkit)[\/]([\w.]+)/i)
varmatch=rwebkit.exec(ua)||
ropera.exec(ua)||
rmsie.exec(ua)||
ua.indexOf("compatible")<0&&rmozilla.exec(ua)||
[];//由于使用exec进行匹配,返回的结果是一个整体匹配和响应的子匹配,例如/(Chrome)[\/]([\w.]+)/,match会返回Chrome/13.0.782.220,match[1]得到chrome,match[2]得到13.0.782.220;
return{browser:match[1]||"",version:match[2]||"0"};
}
//uaMatch是jQuery里的一个方法,在这边开始调用并保存浏览器型号browser和版本version
browserMatch=jQuery.uaMatch(userAgent);//调用uaMatch,并返回对象return{browser:match[1]||"",version:match[2]||"0"};
if(browserMatch.browser){
jQuery.browser[browserMatch.browser]=true;//chrome\safari\opera\msie\mozilla,比如我们要在opera浏览器下执行特定操作的时候,可以通过$.browser.opera来判断是不是opera浏览器(true,false)
jQuery.browser.version=browserMatch.version;//浏览器版本
}
if(jQuery.browser.webkit){
jQuery.browser.safari=true;//因为safari是使用AppleWebKit引擎,由于和chrome都有safari,所以在做另外处理
}
下面分别是各个浏览器的navigator.userAgent
//Mozilla/5.0(Windows;U;WindowsNT5.1;zh-CN)AppleWebKit/533.21.1(KHTML,likeGecko)Version/5.0.5Safari/533.21.1--safari
//Mozilla/5.0(WindowsNT5.1)AppleWebKit/535.1(KHTML,likeGecko)Chrome/13.0.782.220Safari/535.1--chrome
//Opera/9.80(WindowsNT5.1;U;EditionNext;zh-cn)Presto/2.8.158Version/11.50--opera
//Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;.NETCLR2.0.50727;.NETCLR3.0.4506.2152;.NETCLR3.5.30729;InfoPath.1;.NET4.0C;.NET4.0E;InfoPath.2)---ie
//Mozilla/5.0(Windows;U;WindowsNT5.1;zh-CN;rv:1.9.2.24)Gecko/20111103Firefox/3.6.24--firefox
//用于匹配响应浏览器表示的正则
rwebkit=/(webkit)[\/]([\w.]+)/,//webkit
ropera=/(opera)(?:.*version)?[\/]([\w.]+)/,//opera
rmsie=/(msie)([\w.]+)/,//ie
rmozilla=/(mozilla)(?:.*?rv:([\w.]+))?/,//mozilla
通过userAgent,我们可以看到chrome可以通过以下方式匹配到,但是因为和safari一样,都带有“safari”,我们可以把它放在rwebkit.前进行匹配
rchrome=/(Chrome)[\/]([\w.]+)/
同样firefox也可以这么做,把它放在rmozilla前面进行判断
rfirefox=/(Firefox)[\/]([\w.]+)/
uaMatch:function(ua){//主要是获得的浏览器的类型和版本
ua=ua.toLowerCase();//参数为navigator.userAgent。转换成小写,当然也可以在正则匹配里声明不区分大小写(如/(webkit)[\/]([\w.]+)/i)
varmatch=rwebkit.exec(ua)||
ropera.exec(ua)||
rmsie.exec(ua)||
ua.indexOf("compatible")<0&&rmozilla.exec(ua)||
[];//由于使用exec进行匹配,返回的结果是一个整体匹配和响应的子匹配,例如/(Chrome)[\/]([\w.]+)/,match会返回Chrome/13.0.782.220,match[1]得到chrome,match[2]得到13.0.782.220;
return{browser:match[1]||"",version:match[2]||"0"};
}
//uaMatch是jQuery里的一个方法,在这边开始调用并保存浏览器型号browser和版本version
browserMatch=jQuery.uaMatch(userAgent);//调用uaMatch,并返回对象return{browser:match[1]||"",version:match[2]||"0"};
if(browserMatch.browser){
jQuery.browser[browserMatch.browser]=true;//chrome\safari\opera\msie\mozilla,比如我们要在opera浏览器下执行特定操作的时候,可以通过$.browser.opera来判断是不是opera浏览器(true,false)
jQuery.browser.version=browserMatch.version;//浏览器版本
}
if(jQuery.browser.webkit){
jQuery.browser.safari=true;//因为safari是使用AppleWebKit引擎,由于和chrome都有safari,所以在做另外处理
}
相关文章
- oracle错误904解决方法_oracle导出数据库命令
- 符Linux 去掉换行符:一种快捷方法(linux去掉换行)
- 解析Oracle数据库创建方法(oracle创建方法)
- 空间Linux查看磁盘剩余空间的方法(linux查看剩余磁盘)
- 方法Linux实现x方法的使用指南(linux中-x)
- Oracle照片批量导出:快捷实用方法(oracle 照片导出)
- 跨浏览器的设置innerHTML方法
- asp简单生成静态的方法(模板标签替换)
- 让低版本浏览器支持input的placeholder属性(js方法)
- 判断WebBrowser浏览器网页加载完成的处理方法
- 解析Android资源文件及他们的读取方法详解
- IE浏览器在post提交时中文乱码的解决方法
- Css浏览器兼容的解决方法
- 在firefox和Chrome下关闭浏览器窗口无效的解决方法
- 浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
- 两种方法基于jQuery实现IE浏览器兼容placeholder效果
- JS判断浏览器是否支持某一个CSS3属性的方法
- php禁止浏览器使用缓存页面的方法
- Iframe实现跨浏览器自适应高度解决方法