@wig12/browser-detection
v0.3.1
Published
JavaScript library for detecting browsers and platforms using feature testing.
Downloads
2
Readme
Michael-Wigham's Browser Detection
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
andosVersion
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
- Giacomo Trudu - Wicker25
- Giuseppe Trotta - ohpe
- Michael Wigham - Michael-Wigham
See also the list of contributors who participated in this project.
License
Paguro's Browser Detection is MIT licensed.