JavaScript – 浏览器兼容性
了解不同浏览器之间的差异非常重要,以便按照预期的方式处理每个浏览器。因此,了解您的网页在哪个浏览器中运行非常重要。
要获取有关当前运行您的网页的浏览器的信息,请使用内置的 导航器 对象。
Navigator 属性
有几个与 Navigator 相关的属性,您可以在 Web 页面中使用以下列表列出每个属性的名称和描述。
序号. | 属性&描述 |
---|---|
1 | appCodeName 该属性是一个字符串,其中包含浏览器的代码名称,Netscape 为 Netscape,Internet Explorer 为 Microsoft Internet Explorer。 |
2 | appVersion 该属性是一个字符串,其中包含浏览器的版本以及其它有用的信息,如其语言和兼容性。 |
3 | language 该属性包含浏览器使用的语言的两个字母缩写。仅适用于 Netscape。 |
4 | mimTypes[] 该属性是一个数组,其中包含客户端支持的所有 MIME 类型。仅适用于 Netscape。 |
5 | platform[] 该属性是一个字符串,其中包含编译浏览器的平台。若编译用于 32 位的Windows 操作系统则为 “Win32″。 |
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>浏览器检测示例</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 /> 浏览器版本信息: " + version );
//-->
</script>
</body>
</html>
输出
Mozilla based browser
Browser version info : 5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36