一个分享个人学习、开发经验的Blog,http://www.joyphper.net

JavaScript 浏览器检测

posted @ 2010-11-23 08:55 | 阅读:2443 | 评论:0 | 分类: Javascript

浏览器检测

本教程中几乎所有的代码均可在任何支持JavaScript的浏览器中运行。不过个别的代码无法运行于特定的浏览器,特别是老式的浏览器。

所以,有些时候对访问者的浏览器类型及版本进行检测是很有帮助的,然后可在此基础上为访问者提供合适的信息。

要做到这一点,最好的办法是使你的网页变得足够聪明,这样的话它就可以不同的方式对待不同类型的浏览器。

JavaScript包含一个名为Navigator的对象,它就可以完成上述的任务。

Navigator包含了有关访问者浏览器的信息,包括浏览器类型、版本等等。

Navigator 对象

JavaScript Navigator 对象包含了有关访问者浏览器的所有信息。接下来我们学习 Navigator 对象的两个属性。

appName保存浏览器类型

appVersion存有浏览器的版本信息(其他信息中的一项)
<script type="text/javascript"> 
var browser=navigator.appName  
var b_version=navigator.appVersion  
var version=parseFloat(b_version)  
document.write("Browser name: "+ browser)  
document.write("<br />")  
document.write("Browser version: "+ version)  
</script> 

上面例子中的 browser 变量存有浏览器的名称,比如,"Netscape" 或者 "Microsoft Internet Explorer"。

上面例子中的 appVersion 属性返回的字符串所包含的信息不止是版本号而已,但是现在我们只关注版本号。我们使用一个名为 parseFloat() 的函数会抽取字符串中类似十进制数的一段字符并将之返回,这样我们就可以从字符串中抽出版本号信息了。

重要事项:在 IE 5.0 及以后版本中,版本号是不正确的!在 IE 5.0 和 IE 6.0 中,微软为 appVersion 字符串赋的值是 4.0。怎么会出现这样的错误呢?无论如何,我们需要清楚的是,JavaScript 在 IE6、IE5 和 IE4 中的获得的版本号是相同的。

实例

下面的脚本会根据访问者的浏览器类型显示不同的警告。

 

<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("Your browser is good enough!")
	}else{
		alert("It's time to upgrade your browser!")
	}  
}  
</script> 
</head> 
<body onload="detectBrowser()"> 
</body> 
</html>

TAG: javascript , 浏览器检测 , php学习

共有0条评论 发表评论>>

点击换一张验证码