DO YOU NEED A CONTENT WRITER FOR YOUR BUSINESS?

Your One-Stop Solution for All Content Needs! Click here for more!
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/

Jacob Frazier

Based on United States, Jacob Frazier is a skilled JavaScript developer with over 8 years of experience. He is passionate about change and trying new things, both professionally and personally. He loves startups and is extremely proactive.

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

The “Shortage” of Women in Tech Leadership Is Not Real

Ask any conference organizer why their speaker lineup skews heavily male, and the answer is…

2 weeks ago

8 Great Success Business Stories

In the business world, there’s no such thing as a new idea. The best we…

4 weeks ago

Faceless YouTube vs Blogging: Which Monetization Path Fits Beginners Better?

Both of these work. Both are difficult. And anyone telling you one is obviously better…

4 weeks ago

Spreading the Word of Digital Marketing Physically: A How-To Guide

Digital marketing naturally focuses on online spaces. Businesses invest in social media, SEO, email campaigns,…

4 weeks ago

What Skills Do You Need to Become a Full-Stack Developer? A Complete Roadmap

Introduction There is an increasing need for full-stack developers because companies want people who can…

2 months ago

The Enduring Influence Of Classic Russian Literature On Modern Storytelling

Classic Russian literature holds a quiet power that still shapes stories today. Its voice feels…

2 months ago