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

Recover From Google Penalties in 10 Steps in 2024

Facing Google penalties can be a daunting challenge for businesses relying on organic search traffic.…

10 hours ago

What is the Future of Artificial Intelligence?

Technology, undeniably, has made our lives easier. But the advent of artificial intelligence has been…

13 hours ago

Role of guest post services in SEO

Guest post services have become an essential tool for businesses and individuals looking to increase…

20 hours ago

Top Programming Trends You Need to Know in 2024

Programming continues to evolve at a rapid pace, with new trends and technologies emerging every…

1 day ago

Why startups need a digital marketing strategy?

Let’s be honest; a startup business hardly has sufficient amount to promote their services and…

2 days ago

How to Find the Best SEO Consultant in Toronto to Boost Your Rankings

Introduction In today's digital age, having a strong online presence is crucial for businesses in…

2 days ago