How to check the user is using Internet Explorer in JavaScript? - GeeksforGeeks

14 May, 2019
There may arise cases when we need to check the browser being used. Some features of your website may not be supported in older browsers like Internet Explorer(IE). There are different ways to check the version of Internet Explorer being used.
Syntax-1: For Internet Explorer 10 or older
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);
    }

Syntax-2: For Internet Explorer 11
var ua = window.navigator.userAgent;
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);
    }

Syntax-3: For Internet Explorer 12+ (Edge)
var ua = window.navigator.userAgent;
var edge = ua.indexOf('Edge/');
if (edge > 0) {
       // Edge (IE 12+) => return version number
       return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);
    }

Example:
<!DOCTYPE html><html>  <head>    <title>      Detects user uses Internet Explorer  </title></head>  <body>    <center>        <h1 style="color:green">GeeksforGeeks</h1>        <script>            //detects if user uses Internet Explorer            //returns version of IE or false, if browser is not IE            //Function to detect IE or not            function IEdetection() {                var ua = window.navigator.userAgent;                var msie = ua.indexOf('MSIE ');                if (msie > 0) {                    // IE 10 or older, return version number                    return ('IE ' + 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 ('IE ' + parseInt(ua.substring(                      rv + 3, ua.indexOf('.', rv)), 10));                }                var edge = ua.indexOf('Edge/');                if (edge > 0) {                    //Edge (IE 12+), return version number                    return ('IE ' + parseInt(ua.substring(                      edge + 5, ua.indexOf('.', edge)), 10));                }                // User uses other browser                return ('Not IE');            }            var result = IEdetection();            document.write(result);        </script>    </center></body>  </html>
Output (Opening with Firefox):
Not IE
Output (Opening with IE 11):
IE 11
Output (Opening with Edge):
IE 18
JavaScript-Misc
Picked
JavaScript
Web Technologies
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Remove elements from a JavaScript Array
Convert a string to an integer in JavaScript
Difference between var, let and const keywords in JavaScript
Differences between Functional Components and Class Components in React
Difference Between PUT and PATCH Request
Remove elements from a JavaScript Array
Installation of Node.js on Linux
Convert a string to an integer in JavaScript
How to fetch data from an API in ReactJS ?
Top 10 Projects For Beginners To Practice HTML and CSS Skills