欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JavaScript 获得浏览器类型和版本

程序员文章站 2023-12-31 13:24:34
...

主流的浏览器:IE,Edge,Chrome, Firefox。使用navigator.userAgent来获得浏览器类型和版本

IE

Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; Tablet PC 2.0; wbx 1.0.0; rv:11.0) like Gecko

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 10.0; WOW64; Trident/7.0; Touch; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; Tablet PC 2.0; wbx 1.0.0)

Edge

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134

Firefox

Mozilla/5.0 (Windows NT 10.0; WOW64; rv:61.0) Gecko/20100101 Firefox/61.0

Chrome

Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36

  1. Mozilla/5.0 | Mozilla/4.0
    · 
    IE Version 9-11: Mozilla/5.0 伪装成Mozilla排版引擎的浏览器以达到相容。
    · IE Version 7-8 | 5:Mozilla/4.0 伪装成Mozilla排版引擎的浏览器以达到相容。
  2. Windows NT 10.0
    · 
    Windows 10
  3. WOW64 | Win64; x64
    ·WOW64: x86 版浏览器在 x64 版 Windows 上跑
    ·Win64; x64:x64 版浏览器在 x64 版 Windows 上跑
  4. MSIE 7.0 | MSIE 8.0 | MSIE 9.0 | MSIE 10.0 | rv:11.0
    · MSIE 7.0:IE 7.0 | IE 5.0
    · MSIE 8.0:IE 8.0
    · MSIE 9.0:IE 9.0
    · MSIE 10.0:IE 10.0
    · rv:11.0:如果返回信息中沒有 "FireFox",可能是 IE 11
  5. compatible | Trident
    ·
    compatible:在IE <= 10,需要依靠关键字 compatible和MSIE来判断浏览器类型和版本。
    · Trident:在IE 11版本中已经移除了compatible和MSIE,但是添加了Trident和rv来作为判断IE 11唯一依据。
    代码实现:
    //判断是否IE <= 10
    var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; 
    //判断是否IE 11
    var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;
    if (isIE) {
                    var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
                    reIE.test(userAgent);
                    //$ 指的是与正则表达式匹配的第一个 子匹配(以括号为标志)字符串
                    var ieVersion = parseFloat(RegExp.$1); 
                    switch(ieVersion) {
                        case 7: {return 7; break};
                        case 8: {return 8; break};
                        case 9: {return 9; break};
                        case 10: {return 10; break};
                    }
    } else if (isIE11) {
        return 11;
    }
  6. Firefox/61.0
    · Firefox 61.0
  7.  Chrome/72.0.3626
    · Chrome/72.0.3626

 

上一篇:

下一篇: