Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Check if user is using IE

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 Explorer and abort / cancel it if they are using other browsers so that it only runs for IE users ? The users here would all be on IE8 or higher versions so I would not need to cover IE7 and lower versions.

If I could tell which browser they are using that would be great but is not required.

Example function:

$('.myClass').on('click', function(event) {     // my function }); 
like image 331
user2571510 Avatar asked Nov 15 '13 10:11

user2571510


People also ask

How can you tell if someone is using Internet Explorer?

To detect whether the current browser is Internet Explorer, you can make use of the navigator. userAgent property. The userAgent property returns the value of the user-agent header sent by the browser to the server. It contains information about the name, version, and platform of the browser.

How do I know if I am using IE or Chrome in Javascript?

To check if browser is Google Chrome:var isChrome = navigator. userAgent. includes("Chrome") && navigator. vendor.

How do I know if I have IE 11?

Press the Alt key (next to the Spacebar) on the keyboard to open a menu bar. Click Help and select About Internet Explorer. The IE version is displayed in the pop-up window.

How do I know my Internet Explorer browser?

Open Internet Explorer, at the upper right, select the Tools button, and then choose About Internet Explorer. Open Internet Explorer, at the upper right, select the Tools button, and then choose About Internet Explorer.


2 Answers

It's several years later, and the Edge browser now uses Chromium as its rendering engine.
Checking for IE 11 is still a thing, sadly.

Here is a more straightforward approach, as ancient versions of IE should be gone.

if (window.document.documentMode) {   // Do IE stuff } 

Here is my old answer (2014):

In Edge the User Agent String has changed.

/**  * detect IEEdge  * returns version of IE/Edge or false, if browser is not a Microsoft browser  */ function detectIEEdge() {     var ua = window.navigator.userAgent;      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 => return version number        return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);     }      // other browser     return false; } 

Sample usage:

alert('IEEdge ' + detectIEEdge()); 

Default string of IE 10:

Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0) 

Default string of IE 11:

Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko  

Default string of Edge 12:

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  

Default string of Edge 13 (thx @DrCord):

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  

Default string of Edge 14:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/14.14300  

Default string of Edge 15:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063  

Default string of Edge 16:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299  

Default string of Edge 17:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134  

Default string of Edge 18 (Insider preview):

Mozilla/5.0 (Windows NT 10.0; Win64; x64; ServiceUI 14) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17730  

Test at CodePen:

http://codepen.io/gapcode/pen/vEJNZN

like image 127
Mario Avatar answered Oct 17 '22 12:10

Mario


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; } 
like image 31
SpiderCode Avatar answered Oct 17 '22 12:10

SpiderCode