JavaScript判断浏览器类型及版本

  1. userAgent
  2. 判断IE浏览器与非IE 浏览器

实际效果可以查看在线演示

userAgent

<script type="text/javascript">
    $(function () {
        var Sys = {};
        var ua = navigator.userAgent.toLowerCase();
        var s;
        (s = ua.match(/rv:([\d.]+)\) like gecko/)) ? Sys.ie = s[1] :
        (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
        (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
        (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
        (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
        (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;

        if (Sys.ie) document.write('IE: ' + Sys.ie);
        if (Sys.firefox) document.write('Firefox: ' + Sys.firefox);
        if (Sys.chrome) document.write('Chrome: ' + Sys.chrome);
        if (Sys.opera) document.write('Opera: ' + Sys.opera);
        if (Sys.safari) document.write('Safari: ' + Sys.safari);
    });
</script>

IE11 使用了和之前版本不一样的 User-agent

Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv 11.0) like Gecko

而 IE10 是:

Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)

所以也可以通过正则判断 User-agent:

var isIE11 = (/Trident\/7\./).test(navigator.userAgent);

判断IE浏览器与非IE 浏览器

IE浏览器与非IE浏览器的区别是IE浏览器支持ActiveXObject,但是非IE浏览器不支持ActiveXObject。

function isIe(){
    return window.ActiveXObject ? true : false;//IE11 false
}

兼容IE11

function isIe(){
    return ("ActiveXObject" in window);
}

转自:keenwon
js快速判断IE浏览器(兼容IE10与IE11)



转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 bin07280@qq.com

文章标题:JavaScript判断浏览器类型及版本

文章字数:282

本文作者:Bin

发布时间:2016-10-30, 21:06:57

最后更新:2019-08-06, 00:52:09

原始链接:http://coolview.github.io/2016/10/30/JavaScript/JavaScript%E5%88%A4%E6%96%AD%E6%B5%8F%E8%A7%88%E5%99%A8%E7%B1%BB%E5%9E%8B%E5%8F%8A%E7%89%88%E6%9C%AC/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录