私は、Web サイトにアクセスしているユーザーが Firefox 3 または 4 を使用しているかどうかを検出できるコードを探していました。見つかったのは、ブラウザの種類を検出するコードだけで、バージョンを検出するコードはありませんでした。
このようなブラウザのバージョンを検出するにはどうすればよいでしょうか?
ベストアンサー1
ブラウザが何と言っているかを確認し、その情報を使用して複数のブラウザをログに記録したりテストしたりできます。
navigator.sayswho= (function(){
var ua= navigator.userAgent;
var tem;
var 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`