Jquery中利用navigator.userAgent.indexOf來判斷瀏覽器類型,並進行了一下處理,建議學習Jquery的朋友學習下,了解一下想法。
主要使用的方法:$.browser.['瀏覽器關鍵字']
$(function() {
if($.browser.msie) {
alert("this is msie");
} 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的源碼:
複製程式碼 程式碼如下:// Figure out what browser is being used
jQuery.browser = {
version: (userAgent.match( /.| 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判斷瀏覽器的種類和版本.
version---瀏覽器版本
msie- ---ie瀏覽器(Microsoft Internet Explorer)
mozilla-火狐瀏覽器
opera--opera瀏覽器
如果我們要來判斷目前瀏覽器是否是IE6應該如何來判斷?
複製程式碼
程式碼如下: if($.b.b.b.b.b. .browser.version == "6.0")&&!$.support.style){
alert("ie6");
}
同樣Jquery判斷瀏覽器是否為IE7
複製程式碼
程式碼如下: if($.browser.msie&&($.rowser. version == "7.0")){
alert("ie7");
}
如果不想使用Jquery,稍微修改下程式碼就可以為自己所用Js程式碼: browser={
version: (userAgent.match( /. (?:rv|it|ra|ie)[/: ]([d.] )/ ) || [0,'0'])[ 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一樣,只不過把$符號取掉就行了如果是為了判斷IE的版本我還是推薦用IE的條件表達式來書寫JS
複製程式碼
程式碼如下:
這比我們手動通過$.browser來判斷IE版本比較精準,也不用去記jquery的browser的使用方法了