JavaScript 浏览器检测

Contents

使用JavaScript的Navigator对象可获得访客的浏览器信息。

——————————————————————————–

浏览器检测

几乎本教程的所有内容都可以在所有开启了JavaScript功能的浏览器上使用。但是还是有些东西在某些浏览器上,特别是老版的浏览器上不能使用。因此,有时我们需要检测访客的浏览器类型和版本,以便显示适当的信息。要实现这点最好的办法是使你的网页能够针对不同的浏览器做出不同显示。JavaScript 包含一个叫做Navigator的对象,可以作此用途。

这个Navigator对象包含了访客的浏览器名称、版本以及更多信息。


JavaScript的这个Navigator对象存储了访客浏览器的所有信息。下面我们就看一下其中两个重要属性:

  • appName – 浏览器的名称
  • appVersion – 浏览器版本

例子:

<html>
<body>
<script type=”text/javascript”>
var browser=navigator.appName
var b_version=navigator.appVersion
var version=parseFloat(b_version)
document.write(“浏览器名称: “+ browser)
document.write(“<br />”)
document.write(“浏览器版本: “+ version)
</script>
</body>
</html>

上面例子中变量browser存储的是浏览器的名称, 例如”Netscape” 或 “Microsoft Internet Explorer”。

调用appVersion 属性返回的远不仅仅是一个版本号,但是在这个例子中我们只对版本号感兴趣。要把版本号从appVersion返回的字符串中取出来,需要调用函数parseFloat(),这个函数可以把一个字符串中第一个看起来像十进制数的内容提出来并返回。

特别注意! 对IE5.0或更高版本,这个版本号是错误的!微软在IE5.0和6.0的appVersion字符串都是以4.0开头的!!! 不知道他们为什么这么做。不过不要担心,对IE6, IE5和IE4,JavaScript并没变,也就是说绝大部分JavaScript程序是可以正常运行的。

例子:

以下脚本可以根据访客的浏览器不同而显示不同的提示:

<html>
<head>
<script type=”text/javascript”>
function detectBrowser()
{
var browser=navigator.appName
var b_version=navigator.appVersion
var version=parseFloat(b_version)
if ((browser==”Netscape”||browser==”Microsoft Internet Explorer”)
&& (version>=4))
{alert(“你的浏览器符合要求!”)}
else
{alert(“该更新你的浏览器了!”)}
}
</script>
</head>
<body onload="detectBrowser()">
</body>
</html>

例子:显示访客浏览器的所有详细信息<html>
<body>

<script type="text/javascript">
var x = navigator
document.write("CodeName=" + x.appCodeName)
document.write("<br />")
document.write("MinorVersion=" + x.appMinorVersion)
document.write("<br />")
document.write("Name=" + x.appName)
document.write("<br />")
document.write("Version=" + x.appVersion)
document.write("<br />")
document.write("CookieEnabled=" + x.cookieEnabled)
document.write("<br />")
document.write("CPUClass=" + x.cpuClass)
document.write("<br />")
document.write("OnLine=" + x.onLine)
document.write("<br />")
document.write("Platform=" + x.platform)
document.write("<br />")
document.write("UA=" + x.userAgent)
document.write("<br />")
document.write("BrowserLanguage=" + x.browserLanguage)
document.write("<br />")
document.write("SystemLanguage=" + x.systemLanguage)
document.write("<br />")
document.write("UserLanguage=" + x.userLanguage)
</script>

</body>
</html>

Leave a Reply

Your email address will not be published.