Javascript 浏览器兼容

了解不同浏览器之间的差异很重要,以便我们可以使用预期的方式对每个浏览器进行不同的处理。因此,了解我们的网页在哪个浏览器中运行非常重要。

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

序号 属性 描述
1 appCodeName 此属性是一个字符串,其中包含浏览器的代号,Netscape for Netscape 和 Microsoft Internet Explorer for Internet Explorer。
2 appVersion 此属性是一个字符串,其中包含浏览器的版本以及其他有用的信息,例如其语言和兼容性。
3 language 此属性包含浏览器使用的语言的两个字母缩写。仅限Netscape。
4 mimTypes[] 此属性是一个数组,其中包含客户端支持的所有 MIME 类型。仅限Netscape。
5 platform[] 此属性是一个字符串,其中包含编译浏览器的平台。“Win32”适用于 32 位 Windows 操作系统
6 plugins[] 该属性是一个数组,其中包含客户端上已安装的所有插件。仅限Netscape。
7 userAgent[] 此属性是一个字符串,其中包含浏览器的代码名称和版本。该值被发送到始发服务器以识别客户端。
序号 方法 描述
1 javaEnabled() 此方法确定是否在客户端中启用了 JavaScript。如果启用了 JavaScript,则此方法返回 true;否则,它返回 false。
2 plugings.refresh 此方法使新安装的插件可用,并使用所有新插件名称填充 plugins 数组。仅限Netscape。
3 preference(name,value) 此方法允许签名脚本获取和设置一些 Netscape 首选项。如果省略第二个参数,此方法将返回指定首选项的值;否则,它设置值。仅限网景。
4 taintEnabled() 如果启用了数据污染,则此方法返回 true;否则为假。

浏览器检测

有一个简单的 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 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");
            }
            
            document.write("<br /> Browser version info : " + version );
         //-->
      </script>      
   </body>
</html>

尝试一下

输出结果如下:

Mozilla based browser
Browser version info : 5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36

查看笔记

扫码一下
查看教程更方便