Search code examples
jqueryinternet-explorer-11browser-detection

Jquery fail to detect IE 11


Just stumbled upon an issue. When trying to detect IE 11 (the beta version currently on air) using Jquery, the result is 'firefox'. The same code detect IE 10. I need to know what browser the user is using in order to display different instructions.

I am testing in Oracle VirtualBox if it matters. The OS is Win 7.

Here's the code:

<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script>
var browser = function() { 
if ($.browser.msie) return "ie";
var ua = navigator.userAgent.toLowerCase();
if ($.browser.mozilla/* && /firefox/.test(ua)*/) return "firefox"; 
if (/chrome/.test(ua)) return "chrome";
return /*"#"*/'unknown';
} ();

alert (browser); // This return firefox
alert ($.browser.version); // This returns 11.0 - the CORRECT version of IE
</script>

As you can see, Jquery can find the browser version, but not the browser name. Any idea how to bypass it?


Solution

  • The final solution:

    if (!!navigator.userAgent.match(/Trident\/7\./))
      return "ie";  
    

    We can only hope that the release version will act the same.