JavaScript浏览器兼容性
重要的是要了解不同浏览器之间的差异,以便按预期方式处理每个浏览器。因此,重要的是要知道你的网页运行在哪个浏览器中。
要获取有关你的网页当前正在运行的浏览器的信息,请使用内置的navigator 对象。
Navigator属性
你可以在网页中使用几个与Navigator相关的属性。以下是每个名称和描述的列表。
序号. | 属性和说明 |
---|---|
1 | appCodeName 此属性是一个字符串,其中包含浏览器的代号,即Netscape(用于Netscape)和Microsoft Internet Explorer(用于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;否则,返回true。否则,它返回false。 |
2 | plugings.refresh 此方法使新安装的插件可用,并使用所有新的插件名称填充plugins数组。仅Netscape。 |
3 | preference(name,value) 此方法允许签名脚本获取并设置一些Netscape首选项。如果省略第二个参数,则此方法将返回指定的首选项的值;否则,返回0。否则,它将设置该值。仅Netscape。 |
4 | taintEnabled() 如果启用了数据污染,则此方法返回true;否则,此方法返回true。否则为假。 |
浏览器检测
有一个简单的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"); //在此处保留你的歌剧专用网址。 } else if (gecko) { document.write("Mozilla based browser"); //在此处保留壁虎特定的URL。 } else if (ie) { document.write("IE based browser"); //在此处保留你IE的特定URL。 } else if (netscape) { document.write("Netscape based browser"); //在此处保留你特定于Netscape的URL。 } else { document.write("Unknown browser"); } //你可以将version连同任何上述条件一起包括在内。 document.write("<br /> Browser version info : " + version ); //-> </script> </body> </html>