首頁 >web前端 >js教程 >js程式碼判斷瀏覽器種類IE、FF、Opera、Safari、chrome及版本_javascript技巧

js程式碼判斷瀏覽器種類IE、FF、Opera、Safari、chrome及版本_javascript技巧

WBOY
WBOY原創
2016-05-16 16:46:421294瀏覽

因為ie10-ie11的版本問題,不再支援document.all判斷,所以ie判斷函數要重新寫了

function isIE() { //ie?
      if (!!window.ActiveXObject || "ActiveXObject" in window)
        return true;
      else
        return false;
    }

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

複製程式碼 程式碼如下:

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引擎會自動剔除它。 


[Ctrl A 全選 註:如需引入外部Js需刷新才能執行
]<script> var ie = !-[1,]; alert(ie); </script>
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn