JavaScript根据userAgent获取浏览器名及版本信息(支持Edge)

时间:2022-03-21 17:13:19

获取浏览器的类型及版本信息主要通过浏览器的userAgent属性,函数如下:

function getBrowserInfo() {
    var ua=navigator.userAgent,tem,M=ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || []; 
    if(/trident/i.test(M[1])){
        tem=/\brv[ :]+(\d+)/g.exec(ua) || []; 
        return {name:'IE',version:(tem[1]||'')};
        }   
    if(M[1]==='Chrome'){
        tem=ua.match(/\bOPR|Edge\/(\d+)/)
        if(tem!=null)   {return {name:'Opera', version:tem[1]};}
        }   
    M=M[2]? [M[1], M[2]]: [navigator.appName, navigator.appVersion, '-?'];
    if((tem=ua.match(/version\/(\d+)/i))!=null) {M.splice(1,1,tem[1]);}
    return {
      name: M[0],
      version: M[1]
    };
 }

getBrowserInfo()返回一个浏览器名和浏览器的版本。

>getBrowserInfo();
{name: "Chrome", version: "63"}