Javascript

Detect Browser in JavaScript

Share

To detect browser in JavaScript, window.navigator object contains information about the user’s browser i.e. Firefox, Internet Explorer, Opera, etc.

JavaScript has a standard object called navigator which contains data about user’s browser. It has a lot of properties.

JavaScript window.navigator object can be written without window prefix.

For example,

  • navigator.appName
  • navigator.appCodeName
  • navigator.platform

Browser detection is a part of any good JavaScripter’s life.

Using the property navigator.cookieEnabled, you can check whether cookies are enabled or not.

<script>
 console.log("Cookies Enabled? " + navigator.cookieEnabled);
</script>

Using the properties appName and appCodeName you can get the browser name.

<script>
 console.log("Name: " + navigator.appName);
 console.log("Code: " + navigator.appCodeName);
</script>

Read Also: JavaScript Objects Overview

Use appVersion or userAgent, to get browser’s version information.

<script>
 console.log("Version: " + navigator.appVersion);
 console.log("Version: " + navigator.userAgent);
</script>

Use navigator.platform, to get platform of the browser.

<script>
 console.log("Platform: " + navigator.platform);
</script>

You can also check whether Java is enabled in your browser or not.

<script>
 console.log("javaEnabled: " + navigator.javaEnabled());
</script>

See the below example,

// Opera 8.0+
 var isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
// Firefox 1.0+
 var isFirefox = typeof InstallTrigger !== 'undefined';
// At least Safari 3+: "[object HTMLElementConstructor]"
 var isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;
// Internet Explorer 6-11
 var isIE = /*@cc_on!@*/false || !!document.documentMode;
// Edge 20+
 var isEdge = !isIE && !!window.StyleMedia;
// Chrome 1+
 var isChrome = !!window.chrome && !!window.chrome.webstore;
// Blink engine detection
 var isBlink = (isChrome || isOpera) && !!window.CSS;

DEMO: https://jsfiddle.net/4zkyz6d2/

View Comments

  • The code for detecting Safari does not seem to work on macOS or iOS. Also, with the supplied code, the Opera Neon browser returns Chrome. Any Ideas to fix this?

  • This is not working in Safari 10+
    // At least Safari 3+: "[object HTMLElementConstructor]"
    if (Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0)
    browserName = "Safari";

Recent Posts

Unlock Growth – Guide to Online Financing and Business Loans for Entrepreneurs

If you are in a financial crisis , or need to start a new business…

1 day ago

Optimize Your Hormonal Balance: Enclomiphene Citrate for Enhanced Wellness

Hormonal balance plays a pivotal role in overall well-being, influencing various aspects of health, from…

2 days ago

Paul Kanes Explores the World of Canine Companionship through Dog Walking

Dog walking is an excellent way to maintain your furry friend's camaraderie and provides many…

2 days ago

Top 5 Must-Have Features Every Mobile App Needs to Succeed

Introduction Businesses understand the diverse requirements of mobile applications, which provide a competitive advantage. There…

2 days ago

IoT Data Analytics: Ways to Gain Value from IoT Data

The Internet of Things (IoT) has recently changed the world. It links gadgets together and…

2 days ago

The Rise of NFTs: Exploring the Impact of Non-Fungible Tokens on the Digital Economy

NFTs, or Non-Fungible Tokens, are revolutionizing the digital economy. These unique digital assets, authenticated through…

3 days ago