js中獲取當前瀏覽器類型


本文為博主原創,轉載請注明出處:

       在應用POI進行導出時,先應用POI進行數據封裝,將數據封裝到Excel中,然后在進行download下載操作,從而完成

POI導出操作。由於在download操作時,會進行區別瀏覽器,並分別做適應才能導出。由於做的適應比較少,導致在IE瀏覽器

導出時,一直導出失敗。

       最終發現在js中沒有對IE進行識別適應,對其方法應用如下:

function getBrowserInfo() {
    var Sys = {};
    var ua = navigator.userAgent.toLowerCase();
    var re = /(msie|firefox|chrome|opera|version).*?([\d.]+)/;
    var m = ua.match(re);
    try{
        Sys.browser = m[1].replace(/version/, "'safari");
        Sys.ver = m[2];
    }catch(e)
    {
        console.log("getBrowserInfo fail.")
    }
    return Sys;
}

以上方法在js中會進行識別,並返回對應的瀏覽器類型。

修改以后的方法如下:

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 isEdge = userAgent.indexOf("Edge") > -1; //判斷是否IE的Edge瀏覽器
    var isFF = userAgent.indexOf("Firefox") > -1; //判斷是否Firefox瀏覽器
    var isSafari = userAgent.indexOf("Safari") > -1
            && userAgent.indexOf("Chrome") == -1; //判斷是否Safari瀏覽器
    var isChrome = userAgent.indexOf("Chrome") > -1
            && userAgent.indexOf("Safari") > -1; //判斷Chrome瀏覽器

    if (isIE) {
        var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
        reIE.test(userAgent);
        var fIEVersion = parseFloat(RegExp["$1"]);
        if (fIEVersion == 7) {
            return "IE7";
        } else if (fIEVersion == 8) {
            return "IE8";
        } else if (fIEVersion == 9) {
            return "IE9";
        } else if (fIEVersion == 10) {
            return "IE10";
        } else if (fIEVersion == 11) {
            return "IE11";
        } else {
            return "0";
        }//IE版本過低
        return "IE";
    }
    if (isOpera) {
        return "Opera";
    }
    if (isEdge) {
        return "Edge";
    }
    if (isFF) {
        return "FF";
    }
    if (isSafari) {
        return "Safari";
    }
    if (isChrome) {
        return "Chrome";
    }
    
}

之后在后台進行瀏覽器進行適應,之后就可以導出成功了。


免責聲明!

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



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