zoukankan      html  css  js  c++  java
  • 如何判断浏览器内核

    这里我要说的是一个用起来比较简单好记且使用的方法,记录如下。

    之前,js判断的方式都是利用浏览器的useragent字段。通过判断useragent字段里面是否包含有MSIE字段来判断是否是IE系列浏览器,屡试不爽。

    但是在IE11之后,微软把自家的IE革命了,IE11里面的useagent没有MSIE字样。IE 11的userAgent为:"Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; Shuame; rv:11.0) like Gecko"。明显之前根据MSIE的方式来判断,对IE11是失效的。

    其实除了userAgent字段外,我们可以使用ActiveXObject对象来进行判断。

    一个很简单的判断函数如下

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

    一些说明如下:

    1.IE早些版本时,IE10及以下,window.ActiveXObject 返回一个对象,!window.ActiveXObject则变为false,!!window.ActiveXObject则为true,因为是或||符号后续无需再判断,返回true。

    2.IE11中,window.ActiveXObject返回undefine,!window.ActiveXObject则变成了true,!!window.ActiveXObject则变成了false,进入 "window.ActiveXObject" in window判断,该判断条件在IE11下返回true。

    3.其他非IE浏览器,如chrome,firefox,window.ActiveXObject都是undefine,!!window.ActiveXObject都是返回的false,而 "window.ActiveXObject" in window也是返回false,因此上述判断函数在非IE浏览器中返回的都是false。

    判断ie10及其一下版本的方法使用

    var b_v = navigator.appVersion;
    var IE6 = b_v.search(/MSIE 6/i) != -1; 
    var    IE7 = b_v.search(/MSIE 7/i) != -1;
    var    IE8 = b_v.search(/MSIE 8/i) != -1;
    var    IE9 = b_v.search(/MSIE 9/i) != -1;
    var    IE10 = b_v.search(/MSIE 10/i) != -1;
    
    if (IE6){
         $("#myDis").hide(); 
    }else if(IE7){
        $("#myDis").hide(); 
    }else if(IE8){
        $("#myDis").hide(); 
    }else if(IE9){
        $("#myDis").hide(); 
    }else if(IE10){
        $("#myDis").hide(); 
    }

     用js来判断各种浏览器的类型

        <!--
    function getOs()
    {
        var OsObject = "";
       if(navigator.userAgent.indexOf("MSIE")>0) {
            return "MSIE";
       }
       if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){
            return "Firefox";
       }
       if(isSafari=navigator.userAgent.indexOf("Safari")>0) {
            return "Safari";
       } 
       if(isCamino=navigator.userAgent.indexOf("Camino")>0){
            return "Camino";
       }
       if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0){
            return "Gecko";
       }
      
    }
     alert("您的浏览器类型为:"+getOs());
        --> 
    
  • 相关阅读:
    MSDN Visual系列:在SharePoint开发环境中配置CAML语法的智能感知
    学习SharePoint你需要什么?
    MSDN Visual系列:用WSSv3中的SPGridView控件来显示数据
    关于DataFormWebPart中CreatedModifiedInfo信息的分开使用
    MSDN Visual系列:在WSSv3中编程方式激活单个文档库的审核功能
    MOSS 2007基础:部署自定义WebPart
    MSDN Visual系列:编程激活SharePoint网站集的审计功能
    升级SharePoint数据库到SQL Server 2005的一点心得
    一个集WF/WCF/Silverlight/SharePoint技术于一身的东西
    MSDN Visual系列:WSSv3之权限提升
  • 原文地址:https://www.cnblogs.com/c-and-unity/p/4726787.html
Copyright © 2011-2022 走看看