Check if user is using IE

后端 未结 30 1526
心在旅途
心在旅途 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 04:47

    Yet another simple (yet human readable) function to detect if the browser is IE or not (ignoring Edge, which isn't bad at all):

    function isIE() {
      var ua = window.navigator.userAgent;
      var msie = ua.indexOf('MSIE '); // IE 10 or older
      var trident = ua.indexOf('Trident/'); //IE 11
    
      return (msie > 0 || trident > 0);
    }
    
    0 讨论(0)
  • 2020-11-22 04:48

    I know this is an old question, but in case anyone comes across it again and has issues with detecting IE11, here is a working solution for all current versions of IE.

    var isIE = false;
    if (navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0) {
        isIE = true;   
    }
    
    0 讨论(0)
  • 2020-11-22 04:49

    Try doing like this

    if ($.browser.msie && $.browser.version == 8) {
        //my stuff
    
    }
    
    0 讨论(0)
  • 2020-11-22 04:50

    If you don't want to use the useragent, you could also just do this for checking if the browser is IE. The commented code actually runs in IE browsers and turns the "false" to "true".

    var isIE = /*@cc_on!@*/false;
    if(isIE){
        //The browser is IE.
    }else{
        //The browser is NOT IE.
    }   
    
    0 讨论(0)
  • 2020-11-22 04:50

    Below I found elegant way of doing this while googling ---

    / detect IE
    var IEversion = detectIE();
    
    if (IEversion !== false) {
      document.getElementById('result').innerHTML = 'IE ' + IEversion;
    } else {
      document.getElementById('result').innerHTML = 'NOT IE';
    }
    
    // add details to debug result
    document.getElementById('details').innerHTML = window.navigator.userAgent;
    
    /**
     * detect IE
     * returns version of IE or false, if browser is not Internet Explorer
     */
    function detectIE() {
      var ua = window.navigator.userAgent;
    
      // Test values; Uncomment to check result …
    
      // IE 10
      // ua = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)';
    
      // IE 11
      // ua = 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko';
    
      // IE 12 / Spartan
      // ua = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0';
    
      // Edge (IE 12+)
      // ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586';
    
      var msie = ua.indexOf('MSIE ');
      if (msie > 0) {
        // IE 10 or older => return version number
        return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);
      }
    
      var trident = ua.indexOf('Trident/');
      if (trident > 0) {
        // IE 11 => return version number
        var rv = ua.indexOf('rv:');
        return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);
      }
    
      var edge = ua.indexOf('Edge/');
      if (edge > 0) {
        // Edge (IE 12+) => return version number
        return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);
      }
    
      // other browser
      return false;
    }
    
    0 讨论(0)
  • 2020-11-22 04:54

    i've used this

    function notIE(){
        var ua = window.navigator.userAgent;
        if (ua.indexOf('Edge/') > 0 || 
            ua.indexOf('Trident/') > 0 || 
            ua.indexOf('MSIE ') > 0){
           return false;
        }else{
            return true;                
        }
    }
    
    0 讨论(0)
提交回复
热议问题