码迷,mamicode.com
首页 > Web开发 > 详细

js中获取当前浏览器类型

时间:2018-03-02 15:36:35      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:case   完成   数据封装   chrome浏览器   sys   indexof   sch   amp   成功   

本文为博主原创,转载请注明出处:

       在应用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";
    }
    
}

之后在后台进行浏览器进行适应,之后就可以导出成功了。

js中获取当前浏览器类型

标签:case   完成   数据封装   chrome浏览器   sys   indexof   sch   amp   成功   

原文地址:https://www.cnblogs.com/zjdxr-up/p/8493416.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!