JavaScript - 浏览器兼容性



了解不同浏览器之间的差异非常重要,以便能够以预期的方式处理每个浏览器。因此,了解您的网页在哪个浏览器中运行非常重要。

要获取有关您的网页当前正在运行的浏览器的信息,请使用内置的navigator对象。

Navigator 属性

您的网页可以使用多个与 Navigator 相关的属性。以下是每个属性的名称和说明列表。

序号 属性和描述
1

appCodeName

此属性是一个字符串,包含浏览器的代码名称,Netscape 对应 Netscape,Microsoft Internet Explorer 对应 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

此方法使新安装的插件可用,并使用所有新插件名称填充 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>

输出

执行上述程序后,您将获得类似于以下内容的输出:

请注意,根据您使用的浏览器类型,您可能会获得有关浏览器的更多信息。

广告