js/jquery判斷瀏覽器 & 停止加載


JS獲取瀏覽器信息

 

復制代碼代碼如下:

瀏覽器代碼名稱:navigator.appCodeName
瀏覽器名稱:navigator.appName
瀏覽器版本號:navigator.appVersion
對Java的支持:navigator.javaEnabled()
MIME類型(數組):navigator.mimeTypes
系統平台:navigator.platform
插件(數組):navigator.plugins
用戶代理:navigator.userAgent


 

js判斷IE瀏覽器的四種方法:

方法一:

?
1
2
3
4
5
6
7
if (window.addEventListener){
alert( "not ie" );
} else if (window.attachEvent){
alert( "is ie" );
} else {
alert( "這種情況發生在不支持DHTML的老版本瀏覽器(現在一般都支持)" )
}

注釋:該方法在IE9及以上IE版本會彈出not ie結果

方法二:

?
1
2
3
4
5
if (document.all){
alert( "IE" );
} else {
alert( "not ie" );
}

方法三:

?
1
2
3
4
5
6
var navigatorName = "Microsoft Internet Explorer" ;
if ( navigator.appName == navigatorName ){
alert( "ie" )
} else {
alert( "not ie" )
}

方法四:
利用了IE與標准瀏覽器在處理數組的toString方法的差異.對於標准游覽器,如果數組里面最后一個字符為逗號,JS引擎會自動剔除它.

?
1
2
if (!+[1,])alert( "這是ie瀏覽器" );
else alert( "這不是ie瀏覽器" );

注釋:IE9及以上版本會彈出“這不是IE瀏覽器”

判斷常用瀏覽器的方法:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var explorer =navigator.userAgent ;
//ie
if (explorer.indexOf( "MSIE" ) >= 0) {
alert( "ie" );
}
//firefox
else if (explorer.indexOf( "Firefox" ) >= 0) {
alert( "Firefox" );
}
//Chrome
else if (explorer.indexOf( "Chrome" ) >= 0){
alert( "Chrome" );
}
//Opera
else if (explorer.indexOf( "Opera" ) >= 0){
alert( "Opera" );
}
//Safari
else if (explorer.indexOf( "Safari" ) >= 0){
alert( "Safari" );
}
//Netscape
else if (explorer.indexOf( "Netscape" )>= 0) {
alert( 'Netscape' );
}

這里用到navigator.userAgent.indexOf("MSIE") >= 0進行判斷,當然也可以用
navigator.userAgent.indexOf("MSIE") != -1 進行判斷。

jquery判斷瀏覽器類型和瀏覽器版本號的方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$(document).ready( function (){
 
   var brow=$.browser;
 
   var bInfo= "" ;
 
   if (brow.msie){bInfo= "MicrosoftInternetExplorer" +brow.version;}
 
   if (brow.mozilla){bInfo= "MozillaFirefox" +brow.version;}
 
   if (brow.safari){bInfo= "AppleSafari" +brow.version;}
 
   if (brow.opera){bInfo= "Opera" +brow.version;}
 
   alert(bInfo);
 
});

注意:Query 從 1.9 版開始,移除了 .browser和.browser.version , 取而代之的是 $.support 方法

 

第一種,只區分瀏覽器,不考慮版本

 

復制代碼代碼如下:

function myBrowser(){
    var userAgent = navigator.userAgent; //取得瀏覽器的userAgent字符串
    var isOpera = userAgent.indexOf("Opera") > -1;
    if (isOpera) {
        return "Opera"
    }; //判斷是否Opera瀏覽器
    if (userAgent.indexOf("Firefox") > -1) {
        return "FF";
    } //判斷是否Firefox瀏覽器
    if (userAgent.indexOf("Chrome") > -1){
  return "Chrome";
 }
    if (userAgent.indexOf("Safari") > -1) {
        return "Safari";
    } //判斷是否Safari瀏覽器
    if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
        return "IE";
    }; //判斷是否IE瀏覽器
}

 

//以下是調用上面的函數
var mb = myBrowser();
if ("IE" == mb) {
    alert("我是 IE");
}
if ("FF" == mb) {
    alert("我是 Firefox");
}
if ("Chrome" == mb) {
    alert("我是 Chrome");
}
if ("Opera" == mb) {
    alert("我是 Opera");
}
if ("Safari" == mb) {
    alert("我是 Safari");
}

 

第二種,區分瀏覽器,並考慮IE5.5 6 7 8

 

復制代碼代碼如下:

function myBrowser(){
    var userAgent = navigator.userAgent; //取得瀏覽器的userAgent字符串
    var isOpera = userAgent.indexOf("Opera") > -1; //判斷是否Opera瀏覽器
    var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判斷是否IE瀏覽器
    var isFF = userAgent.indexOf("Firefox") > -1; //判斷是否Firefox瀏覽器
    var isSafari = userAgent.indexOf("Safari") > -1; //判斷是否Safari瀏覽器
    if (isIE) {
        var IE5 = IE55 = IE6 = IE7 = IE8 = false;
        var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
        reIE.test(userAgent);
        var fIEVersion = parseFloat(RegExp["$1"]);
        IE55 = fIEVersion == 5.5;
        IE6 = fIEVersion == 6.0;
        IE7 = fIEVersion == 7.0;
        IE8 = fIEVersion == 8.0;
        if (IE55) {
            return "IE55";
        }
        if (IE6) {
            return "IE6";
        }
        if (IE7) {
            return "IE7";
        }
        if (IE8) {
            return "IE8";
        }
    }//isIE end
    if (isFF) {
        return "FF";
    }
    if (isOpera) {
        return "Opera";
    }
}//myBrowser() end
//以下是調用上面的函數
if (myBrowser() == "FF") {
    alert("我是 Firefox");
}
if (myBrowser() == "Opera") {
    alert("我是 Opera");
}
if (myBrowser() == "Safari") {
    alert("我是 Safari");
}
if (myBrowser() == "IE55") {
    alert("我是 IE5.5");
}
if (myBrowser() == "IE6") {
    alert("我是 IE6");
}
if (myBrowser() == "IE7") {
    alert("我是 IE7");
}
if (myBrowser() == "IE8") {
    alert("我是 IE8");
}

 

下面給出一個判斷當前瀏覽器是IE的JS代碼.

原理是利用了IE與標准瀏覽器在處理數組的toString方法的差異做成的。對於標准游覽器,如果數組里面最后一個字符為逗號,JS引擎會自動剔除它。 

 


<script>

var ie = !-[1,];

alert(ie);

</script>

 

 

停止加載

  1.  var xmlhttp;  
  2.             if (window.XMLHttpRequest) {  
  3.                 // code for IE7+, Firefox, Chrome, Opera, Safari  
  4.                 xmlhttp = new XMLHttpRequest();  
  5.             }else {  
  6.                 // code for IE6, IE5  
  7.                 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");  
  8.             }  
  9.             xmlhttp.abort();  
  10.             //停止繼續加載頁面,相當於點擊stop按鈕。  
  11.             if (!!(window.attachEvent && !window.opera))  
  12.             {  
  13.                 document.execCommand("stop");// code for IE  
  14.             }else{  
  15.                 /**  
  16.                  * stops window loading  
  17.                  * code for  Firefox, Chrome, Opera, Safari  
  18.                  */  
  19.                 window.stop();  
  20.             }  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM