zoukankan      html  css  js  c++  java
  • js代码判断浏览器种类IE、FF、Opera、Safari、chrome及版本

    这篇文章主要分享了判断IE、FF、Opera、Safari、Chrome等浏览器和版本的两种方法,需要的朋友可以参考下

    因为ie10-ie11的版本问题,不再支持document.all判断,所以ie判断函数要重新写了

    function isIE() { //ie?     
        if (!!window.ActiveXObject || "ActiveXObject" in window)        
            return true;      
        else        
            return false;    
    }    
    

    第一种,只区分浏览器,不考虑版本 

    function myBrowser(){
         var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
         var isOpera = userAgent.indexOf("Opera") > -1;
         if (isOpera) {
             return "Opera"
         }; //判断是否Opera浏览器
         if (userAgent.indexOf("Firefox") > -1) {
             return "FF";
         } //判断是否Firefox浏览器
         if (userAgent.indexOf("Chrome") > -1){
           return "Chrome";
        }
         if (userAgent.indexOf("Safari") > -1) {
             return "Safari";
         } //判断是否Safari浏览器
         if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
             return "IE";
         }; //判断是否IE浏览器
     }
     
     //以下是调用上面的函数
     var mb = myBrowser();
     if ("IE" == mb) {
         alert("我是 IE");
     }
     if ("FF" == mb) {
         alert("我是 Firefox");
     }
     if ("Chrome" == mb) {
         alert("我是 Chrome");
     }
     if ("Opera" == mb) {
         alert("我是 Opera");
     }
     if ("Safari" == mb) {
         alert("我是 Safari");
     }
     
    

    第二种,区分浏览器,并考虑IE5.5 6 7 8

    function myBrowser(){
         var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
         var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器
         var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器
         var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器
         var isSafari = userAgent.indexOf("Safari") > -1; //判断是否Safari浏览器
         if (isIE) {
             var IE5 = IE55 = IE6 = IE7 = IE8 = false;
             var reIE = new RegExp("MSIE (\d+\.\d+);");
             reIE.test(userAgent);
             var fIEVersion = parseFloat(RegExp["$1"]);
             IE55 = fIEVersion == 5.5;
             IE6 = fIEVersion == 6.0;
             IE7 = fIEVersion == 7.0;
             IE8 = fIEVersion == 8.0;
             if (IE55) {
                 return "IE55";
             }
             if (IE6) {
                 return "IE6";
             }
             if (IE7) {
                 return "IE7";
             }
             if (IE8) {
                 return "IE8";
             }
         }//isIE end
         if (isFF) {
             return "FF";
         }
         if (isOpera) {
             return "Opera";
         }
     }//myBrowser() end
     //以下是调用上面的函数
     if (myBrowser() == "FF") {
         alert("我是 Firefox");
     }
     if (myBrowser() == "Opera") {
         alert("我是 Opera");
     }
     if (myBrowser() == "Safari") {
         alert("我是 Safari");
     }
     if (myBrowser() == "IE55") {
         alert("我是 IE5.5");
     }
     if (myBrowser() == "IE6") {
         alert("我是 IE6");
     }
     if (myBrowser() == "IE7") {
         alert("我是 IE7");
     }
     if (myBrowser() == "IE8") {
         alert("我是 IE8");
     }
    

    下面给出一个判断当前浏览器是IE的JS代码.

    原理是利用了IE与标准浏览器在处理数组的toString方法的差异做成的。对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它。 

    <script>
    
        var ie = !-[1,]; 
    
        alert(ie); 
    
    </script>
    

      

  • 相关阅读:
    一次有教益的程序崩溃调试 (中)
    读书:手工测试与自动测试
    迭代还是交付?
    用Windbg调试.NET程序的资源泄漏
    一次有教益的程序崩溃调试 (上)
    基于云计算的软件测试服务
    Vcastr 3.0 api
    学习Linux三(Linux常用命令及技巧)
    学习Linux六(Linux必学60个命令之【文件处理】)
    学习Linux四(Linux必学60个命令)
  • 原文地址:https://www.cnblogs.com/henuyuxiang/p/6244696.html
Copyright © 2011-2022 走看看