js判断浏览器类型怎么写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js判断浏览器类型怎么写相关的知识,希望对你有一定的参考价值。

就是判断是什么浏览器,比如判断是谷歌浏览器还是IE浏览器

可以通过navigator.userAgent的值判断是那种浏览器。

     navigator.userAgent.indexOf("Opera") != -1, 结果为true则表示Opera浏览器。

    navigator.userAgent.indexOf("MSIE") != -1, 结果为true则表示Internet Explorer浏览器。

    navigator.userAgent.indexOf("Firefox") != -1, 结果为true则表示Firefox浏览器。

    navigator.userAgent.indexOf("Netscape") != -1, 结果为true则表示Netscape浏览器。

    navigator.userAgent.indexOf("Safari") != -1, 结果为true则表示Safari浏览器。

参考技术A    <script type="text/javascript">        
        var Sys = ;
        var ua = navigator.userAgent.toLowerCase();
        if (window.ActiveXObject)
            Sys.ie = ua.match(/msie ([\\d.]+)/)[1]
        else if (document.getBoxObjectFor)
            Sys.firefox = ua.match(/firefox\\/([\\d.]+)/)[1]
        else if (window.MessageEvent && !document.getBoxObjectFor)
            Sys.chrome = ua.match(/chrome\\/([\\d.]+)/)[1]
        else if (window.opera)
            Sys.opera = ua.match(/opera.([\\d.]+)/)[1]
        else if (window.openDatabase)
            Sys.safari = ua.match(/version\\/([\\d.]+)/)[1];
       
        //以下进行测试
        if(Sys.ie) document.write('IE: '+Sys.ie);
        if(Sys.firefox) document.write('Firefox: '+Sys.firefox);
        if(Sys.chrome) document.write('Chrome: '+Sys.chrome);
        if(Sys.opera) document.write('Opera: '+Sys.opera);
        if(Sys.safari) document.write('Safari: '+Sys.safari);
    </script>

本回答被提问者和网友采纳

Underscore.js 常用类型判断以及一些有用的工具方法

1. 常用类型判断以及一些有用的工具方法

   underscore.js 中一些 JavaScript 常用类型检查方法,以及一些工具类的判断方法。

   首先我们先来谈一谈数组类型的判断。先贴出我自己封装好的函数。

  

  第一: 在ES5里面有一个检测数组的函数,就是Array.isArray(); (毕竟原生的才是最屌的)但是如果老版本的浏览器不支持ES5呢。那怎么办 所以我们这个时候要想其他的办法。

   来回忆下 instanceof 运算符的使用方式。a instanceof b,如果返回 true,表示 a 是 b 的一个实例。那么如果 a instanceof Array 返回 true,是不是就说明 a 是 数组类型呢?跟 instanceof 师出同门的还有 constructor,是否同样可以判断呢?

  var a = [0, 1, 2];
  console.log(a instanceof Array);  // true 就是数组?
  console.log(a.constructor === Array); // true 数组?
因为每个 frame 都有一套自己的执行环境,跨 frame 实例化的对象彼此不共享原型链。如果打印 a instanceof window.frames[0].Array,那么结果就是 true 了。
所以正确的是使用Object.prototype.toString.call(obj) === "[object Array]";有原生的ES5是最好 所以就使用第一个。

2. 对象的判断

  underscore把function和obj都当成对象,但是要除去null。 根据typeof来返回复杂类型。

  

  

3. 所有的类型判断

  再看 \'Arguments\', \'Function\', \'String\', \'Number\', \'Date\', \'RegExp\', \'Error\' 这些类型的判断,其实都可以用 Object.prototype.toString.call 来判断,所以写在了一起: 但是 IE9下面无法判断Arguments。

  

4. 工具类判断方法

  

1. 图片格式

1. 图片格式

今天就跟大家聊一聊 underscore.js 中一些 JavaScript 常用类型检查方法,以及一些工具类的判断方法。

以上是关于js判断浏览器类型怎么写的主要内容,如果未能解决你的问题,请参考以下文章

js如何判断浏览器具体类型

js判断浏览器类型

js 判断浏览器类型

js如何判断浏览器类型,包括手机浏览器的?

js如何判断浏览器是否360类型

JS判断浏览器类型