天天看点

jQuery中通过$.browser来判断浏览器

一、使用方法 

语法:$.browser.["浏览器关键字"] 

$(function() { 

if($.browser.msie) { 

alert("this is ie"); 

else if($.browser.safari) 

alert("this is safari!"); 

else if($.browser.mozilla) 

alert("this is mozilla!"); 

else if($.browser.opera) { 

alert("this is opera"); 

else { 

alert("i don't konw!"); 

jquery源码: 

var useragent = navigator.useragent.tolowercase(); 

// figure out what browser is being used 

jquery.browser = { 

version: (useragent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1], 

safari: /webkit/.test( useragent ), 

opera: /opera/.test( useragent ), 

msie: /msie/.test( useragent ) && !/opera/.test( useragent ), 

mozilla: /mozilla/.test( useragent ) && !/(compatible|webkit)/.test( useragent ) 

}; 

jquery使用的是通过正则来匹配useragent判断浏览器的种类和版本. 

二、判断浏览器版本

若判断当前浏览器是否是ie6 

$.browser.msie && ($.browser.version == "6.0")&&!$.support.style 

同样jquery判断浏览器是否为ie7 

$.browser.msie&&($.browser.version == "7.0") 

如果不考虑向后兼容性,又不想为了判断各浏览器类型而导入jquery 

判断ie最简单的方法是 

if(document.all){ 

alert("ie6");

$.browser是通过正则表达式来匹配useragent来判断浏览器版本和种类的.jquery1.3.2版本的文档中已经声明jquery.browser及jquery.browser.version建议弃用,可以使用jquery.support来代替 但是目前的情况来看,jquery.support并不好用,而且是非常的难用,还是老老实实用$.browser来判断浏览器类型吧。

三、ie的条件表达式也可以书写js 

<!--[if ie]> 

<script type="text/javascript"> 

alert("ie") 

</script> 

<![endif]--> 

<!--[if ie 6]> 

alert("ie6") 

<!--[if ie 7]> 

alert("ie7") 

<![endif]-->

比通过$.browser来判断ie版本更精准,也不用去记jquery的browser的使用方法了。

原帖地址:http://www.poluoluo.com/jzxy/201110/145284.html

继续阅读