天天看點

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

繼續閱讀