JavaScript - 浏览器兼容性
为了以预期的方式处理每个浏览器,了解不同浏览器之间的差异非常重要。因此,了解您的网页在哪种浏览器中运行至关重要。
要获取网页当前运行的浏览器信息,请使用内置的 navigator 对象。
Navigator 属性
您可以在网页中使用多个与 Navigator 相关的属性。以下是每个属性的名称和说明列表。
| 序号 | 属性 & 说明 |
|---|---|
| 1 |
appCodeName 此属性是一个字符串,包含浏览器的代码名称,Netscape 的版本号为 Netscape,Internet Explorer 的版本号为 Microsoft Internet Explorer。 |
| 2 |
appVersion 此属性是一个字符串,包含浏览器的版本以及其他有用信息,例如语言和兼容性。 |
| 3 |
language 此属性包含浏览器所用语言的两个字母的缩写。仅限 Netscape。 |
| 4 |
mimTypes[] 此属性是一个数组,包含客户端支持的所有 MIME 类型。仅限 Netscape。 |
| 5 |
platform[] 此属性是一个字符串,包含浏览器编译所针对的平台。"Win32"表示 32 位 Windows 操作系统。 |
| 6 |
plugins[] 此属性是一个数组,包含客户端上已安装的所有插件。仅限 Netscape。 |
| 7 |
userAgent[] 此属性是一个字符串,包含浏览器的代码名称和版本。此值将发送到源服务器以识别客户端。 |
Navigator 方法
Navigator 有几种特定方法。以下是它们的名称和说明的列表。
| 序号 | 说明 |
|---|---|
| 1 |
javaEnabled() 此方法确定客户端是否启用了 JavaScript。如果 JavaScript 已启用,则返回 true;否则返回 false。 |
| 2 |
plugings.refresh 此方法使新安装的插件可用,并使用所有新插件名称填充插件数组。仅限 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 的浏览器");
// 在此处保留 Opera 特定的 URL。
} else if (gecko) {
document.write("基于 Mozilla 的浏览器");
// 在此处保留 Gecko 特定的 URL。
} else if (ie) {
document.write("基于 IE 的浏览器");
// 在此处保留 IE 特定的 URL。
} else if (netscape) {
document.write("基于 Netscape 的浏览器");
// 在此处保留 Netscape 特定的 URL。
} else {
document.write("未知浏览器");
}
// 您可以将版本信息与上述任何条件一起添加。
document.write("<br /> Browser version info : " + version );
</script>
</body>
</html>
输出
执行上述程序后,您将获得类似以下内容的输出 -
请注意,根据您使用的浏览器类型,您可能会获得更多关于浏览器的信息。

