Check if user is using IE

后端 未结 30 1577
心在旅途
心在旅途 2020-11-22 04:34

I am calling a function like the one below by click on divs with a certain class.

Is there a way I can check when starting the function if a user is using Internet

相关标签:
30条回答
  • 2020-11-22 05:03

    Update to SpiderCode's answer to fix issues where the string 'MSIE' returns -1 but it matches 'Trident'. It used to return NAN, but now returns 11 for that version of IE.

       function msieversion() {
           var ua = window.navigator.userAgent;
           var msie = ua.indexOf("MSIE ");
           if (msie > -1) {
               return ua.substring(msie + 5, ua.indexOf(".", msie));
           } else if (navigator.userAgent.match(/Trident.*rv\:11\./)) {
               return 11;
           } else {
               return false;
           }
        }
    
    0 讨论(0)
  • 2020-11-22 05:04

    Method 01:
    $.browser was deprecated in jQuery version 1.3 and removed in 1.9

    if ( $.browser.msie) {
      alert( "Hello! This is IE." );
    }
    

    Method 02:
    Using Conditional Comments

    <!--[if gte IE 8]>
    <p>You're using a recent version of Internet Explorer.</p>
    <![endif]-->
    
    <!--[if lt IE 7]>
    <p>Hm. You should upgrade your copy of Internet Explorer.</p>
    <![endif]-->
    
    <![if !IE]>
    <p>You're not using Internet Explorer.</p>
    <![endif]>
    

    Method 03:

     /**
     * Returns the version of Internet Explorer or a -1
     * (indicating the use of another browser).
     */
    function getInternetExplorerVersion()
    {
        var rv = -1; // Return value assumes failure.
    
        if (navigator.appName == 'Microsoft Internet Explorer')
        {
            var ua = navigator.userAgent;
            var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
            if (re.exec(ua) != null)
                rv = parseFloat( RegExp.$1 );
        }
    
        return rv;
    }
    
    function checkVersion()
    {
        var msg = "You're not using Internet Explorer.";
        var ver = getInternetExplorerVersion();
    
        if ( ver > -1 )
        {
            if ( ver >= 8.0 ) 
                msg = "You're using a recent copy of Internet Explorer."
            else
                msg = "You should upgrade your copy of Internet Explorer.";
        }
    
        alert( msg );
    }
    

    Method 04:
    Use JavaScript/Manual Detection

    /*
         Internet Explorer sniffer code to add class to body tag for IE version.
         Can be removed if your using something like Modernizr.
     */
     var ie = (function ()
     {
    
         var undef,
         v = 3,
             div = document.createElement('div'),
             all = div.getElementsByTagName('i');
    
         while (
         div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i>< ![endif]-->',
         all[0]);
    
         //append class to body for use with browser support
         if (v > 4)
         {
             $('body').addClass('ie' + v);
         }
    
     }());
    

    Reference Link

    0 讨论(0)
  • 2020-11-22 05:04

    Using the answers above; simple & condensed returning Boolean:

    var isIE = /(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent);

    0 讨论(0)
  • 2020-11-22 05:04

    This only work below IE 11 version.

    var ie_version = parseInt(window.navigator.userAgent.substring(window.navigator.userAgent.indexOf("MSIE ") + 5, window.navigator.userAgent.indexOf(".", window.navigator.userAgent.indexOf("MSIE "))));
    

    console.log("version number",ie_version);

    0 讨论(0)
  • 2020-11-22 05:05

    Use below JavaScript method :

    function msieversion() 
    {
        var ua = window.navigator.userAgent;
        var msie = ua.indexOf("MSIE ");
    
        if (msie > 0) // If Internet Explorer, return version number
        {
            alert(parseInt(ua.substring(msie + 5, ua.indexOf(".", msie))));
        }
        else  // If another browser, return 0
        {
            alert('otherbrowser');
        }
    
        return false;
    }
    

    You may find the details on below Microsoft support site :

    How to determine browser version from script

    Update : (IE 11 support)

    function msieversion() {
    
        var ua = window.navigator.userAgent;
        var msie = ua.indexOf("MSIE ");
    
        if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./))  // If Internet Explorer, return version number
        {
            alert(parseInt(ua.substring(msie + 5, ua.indexOf(".", msie))));
        }
        else  // If another browser, return 0
        {
            alert('otherbrowser');
        }
    
        return false;
    }
    
    0 讨论(0)
  • 2020-11-22 05:05

    Or this really short version, returns true if the browsers is Internet Explorer:

    function isIe() {
        return window.navigator.userAgent.indexOf("MSIE ") > 0
            || !!navigator.userAgent.match(/Trident.*rv\:11\./);
    }
    
    0 讨论(0)
提交回复
热议问题