Skip to content

JavaScript library for detecting browsers and platforms using features.

License

Notifications You must be signed in to change notification settings

Michael-Wigham/browser-detection

 
 

Repository files navigation

Michael-Wigham's Browser Detection

npm version

JavaScript library for detecting browsers and platforms using feature testing.

  • Accurate: it doesn't rely on the User-Agent string like other libraries [1] [2].

  • Solid: it's tested against a large dataset of Browser Object Model (BOM).

Getting started

To add Paguro's Browser Detection library to your project:

$ npm add @wig12/browser-detection

Usage

import BrowserDetection from '@wig12/browser-detection'; // ES6

const detectedBrowser = BrowserDetection();
console.log(detectedBrowser);

/* -- Output
  {
     browser: 'Firefox',
     browserVersion: 67,
     layout: 'Gecko',
     layoutVersion: 67,
     os: 'Windows',
     osVersion: 95
  }
*/

Detection

Browsers

Browser Detectable versions
Internet Explorer 11
Edge 44 / 80 & 120
Chrome 40 / 80 & 120
Chromium 40 / 80
Firefox 42 / 74 & 117 / 120
Safari 8 / 13
Opera 66
Brave 1.3

Layout engines

Browser Latest version
Trident -
EdgeHTML -
Gecko -
WebKit -
Blink -
KHTML -
Presto -

Operating systems

Browser Latest version
OS X -
Windows -
Linux -
Unix -
Solaris -
iOS -
Android -

Known bugs and issues

  • The fields layoutVersion and osVersion are not populated yet

Future Features

  • Support for mobile browsers
    • Chrome Android
    • Firefox for Android
    • Opera Android
    • Safari on iOS
    • Samsung Internet
    • WebView Android
  • Populate the field layoutVersion
  • Populate the field osVersion
  • Sandbox to prevent feature spoofing

Authors

See also the list of contributors who participated in this project.

License

Paguro's Browser Detection is MIT licensed.

About

JavaScript library for detecting browsers and platforms using features.

Resources

License

Stars

Watchers

Forks

Languages

  • TypeScript 58.6%
  • JavaScript 26.2%
  • HTML 15.2%