为了能够按照预期方式处理不同的浏览器,了解网页正在运行于哪种浏览器是非常重要的。要获取有关当前网页正在运行的浏览器的信息,可以使用内置的 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。如果启用,则返回 true;否则返回 false。 |
2 |
plugins.refresh |
使新安装的插件可用,并用所有新的插件名称填充插件数组。仅适用于 Netscape。 |
3 |
preference(name) |
允许签名脚本获取和设置某些 Netscape 首选项。如果省略第二个参数,此方法将返回指定首选项的值;否则设置该值。仅适用于 Netscape。 |
4 |
taintEnabled() |
如果启用了数据污染,则返回 true;否则返回 false。 |
浏览器检测
有一个简单的 JavaScript 可用来识别浏览器的名称,然后根据情况向用户发送相应的 HTML 页面。
<html>
<head>
<title>浏览器检测示例</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 基础的浏览器");
} else if (gecko) {
document.write("Mozilla 基础的浏览器");
} else if (ie) {
document.write("IE 基础的浏览器");
} else if (netscape) {
document.write("Netscape 基础的浏览器");
} else {
document.write("未知浏览器");
}
document.write("<br /> 浏览器版本信息 : " + version);
</script>
</body>
</html>
输出 运行上述程序后,您将得到如下类似的输出:
请注意,根据您使用的浏览器类型,您可能会得到更多关于浏览器的信息。