JavaScript 浏览器兼容性
了解不同浏览器之间的差异非常重要,以便按照预期的方式处理每个浏览器。因此,了解您的网页在哪个浏览器中运行是很重要的。
要获取有关您的网页当前运行的浏览器的信息,请使用内置的 导航器 对象。
导航器属性
您可以在Web页面中使用多个与导航器相关的属性。以下是每个属性的名称和描述的列表。
序号 | 属性和描述 |
---|---|
1 | appCodeName 这个属性是一个字符串,包含了浏览器的代码名称,Netscape代表Netscape浏览器,Internet Explorer代表Internet Explorer浏览器。 |
2 | appVersion 这个属性是一个字符串,包含了浏览器的版本以及其他有用的信息,例如语言和兼容性。 |
3 | language 这个属性包含了浏览器使用的语言的两个字母缩写。仅针对Netscape浏览器。 |
4 | mimTypes[] 这个属性是一个数组,包含了客户端支持的所有MIME类型。仅针对Netscape浏览器。 |
5 | platform[] 这个属性是一个字符串,包含了浏览器编译时所用的平台。32位Windows操作系统为”Win32″。 |
6 | plugins[] 这个属性是一个数组,包含了在客户端上安装的所有插件。仅针对Netscape浏览器。 |
7 | userAgent[] 这个属性是一个字符串,包含了浏览器的代码名称和版本。这个值会被发送到起始服务器以识别客户端。 |
导航器方法
有几种特定于导航器的方法。下面是它们的名称和描述的列表。
序号 | 描述 |
---|---|
1 | javaEnabled() 此方法确定客户端是否启用了JavaScript。如果启用了JavaScript,该方法返回true;否则返回false。 |
2 | plugings.refresh 此方法使新安装的插件可用,并用所有新插件名称填充plugins数组。仅适用于Netscape浏览器。 |
3 | preference(name,value) 此方法允许签名脚本获取和设置一些Netscape浏览器的偏好设置。如果省略了第二个参数,该方法将返回指定偏好设置的值;否则将设置该值。仅适用于Netscape浏览器。 |
4 | taintEnabled() 此方法在数据污染已启用时返回true;否则返回false。 |
浏览器检测
有一个简单的JavaScript可以用来找出浏览器的名称,然后根据情况为用户提供HTML页面。
<html>
<head>
<title>Browser Detection Example</title>
</head>
<body>
<script type = "text/javascript">
<!--
var userAgent = navigator.userAgent;
var opera = (userAgent.indexOf('Opera') != -1);
var ie = (userAgent.indexOf('MSIE') != -1);
var gecko = (userAgent.indexOf('Gecko') != -1);
var netscape = (userAgent.indexOf('Mozilla') != -1);
var version = navigator.appVersion;
if (opera) {
document.write("Opera based browser");
// Keep your opera specific URL here.
} else if (gecko) {
document.write("Mozilla based browser");
// Keep your gecko specific URL here.
} else if (ie) {
document.write("IE based browser");
// Keep your IE specific URL here.
} else if (netscape) {
document.write("Netscape based browser");
// Keep your Netscape specific URL here.
} else {
document.write("Unknown browser");
}
// You can include version to along with any above condition.
document.write("<br /> Browser version info : " + version );
//-->
</script>
</body>
</html>