如何使用JavaScript确定确切的浏览器和版本?
当前回答
所有关于web浏览器的信息都包含在navigator对象中。名字和版本都在那里。
var appname = window.navigator.appName;
来源:javascript浏览器检测
其他回答
我推荐使用小型javascript库Bowser。它基于导航器。userAgent和相当好测试的所有浏览器,包括iphone, android等。
https://github.com/ded/bowser
你可以简单地说:
if (bowser.msie && bowser.version <= 6) {
alert('Hello IE');
} else if (bowser.firefox){
alert('Hello Foxy');
} else if (bowser.chrome){
alert('Hello Chrome');
} else if (bowser.safari){
alert('Hello Safari');
} else if(bowser.iphone || bowser.android){
alert('Hello mobile');
}
我发现了一个有趣又快捷的方法。 IE支持导航器。systemLanguage返回“en-US”,其他浏览器返回undefined。
<script>
var lang = navigator.systemLanguage;
if (lang!='en-US'){document.write("Well, this is not internet explorer");}
else{document.write("This is internet explorer");}
</script>
所有关于web浏览器的信息都包含在navigator对象中。名字和版本都在那里。
var appname = window.navigator.appName;
来源:javascript浏览器检测
您可以使用jQuery库来检测浏览器版本。
例子:
jQuery.browser.version
然而,这只有在你同时使用jQuery的其他函数时才有意义。对我来说,仅仅为了检测浏览器而添加整个库似乎有点小题大做。
更多信息: http://api.jquery.com/jQuery.browser/
(你需要向下滚动一点)
你可以扫描用户代理来查找浏览器名称,而不是硬编码web浏览器:
navigator.userAgent.split(')').reverse()[0].match(/(?!Gecko|Version|[A-Za-z]+?Web[Kk]it)[A-Z][a-z]+/g)[0]
我已经在Safari、Chrome和Firefox上进行了测试。如果您发现这在浏览器上不起作用,请告诉我。
Safari:“旅行” 铬:“铬” Firefox:“火狐”
如果需要,您甚至可以修改它以获得浏览器版本。请注意,有更好的方法来获得浏览器版本
navigator.userAgent.split(')').reverse()[0].match(/(?!Gecko|Version|[A-Za-z]+?Web[Kk]it)[A-Z][a-z]+\/[\d.]+/g)[0].split('/')
样例输出:
Firefox/39.0