This is how to detect the browser version and its name using javascript!



navigator.sayswho= (function(){ 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 'IE '+(tem[1] || ''); } if(M[1]=== 'Chrome'){ tem= ua.match(/\b(OPR|Edge)\/(\d+)/); if(tem!= null) return tem.slice(1).join(' ').replace('OPR', 'Opera'); } 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 M.join(' '); })(); console.log(navigator.sayswho); // outputs: `Chrome 62`
​x
 
1
​
2
  navigator.sayswho= (function(){
3
    var ua= navigator.userAgent, tem, 
4
    M= ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || [];
5
    if(/trident/i.test(M[1])){
6
        tem=  /\brv[ :]+(\d+)/g.exec(ua) || [];
7
        return 'IE '+(tem[1] || '');
8
    }
9
    if(M[1]=== 'Chrome'){
10
        tem= ua.match(/\b(OPR|Edge)\/(\d+)/);
11
        if(tem!= null) return tem.slice(1).join(' ').replace('OPR', 'Opera');
12
    }
13
    M= M[2]? [M[1], M[2]]: [navigator.appName, navigator.appVersion, '-?'];
14
    if((tem= ua.match(/version\/(\d+)/i))!= null) M.splice(1, 1, tem[1]);
15
    return M.join(' ');
16
})();
17
​
18
console.log(navigator.sayswho); // outputs: `Chrome 62`
19
​