old-browser-detector
Version:
The fastest way to test if user uses a old browser client.
135 lines (91 loc) • 4.13 kB
Markdown
⚡ The fastest way to detect if user is in a old browser client.
Proudly optimized version of the [OldBrowserDetector](https://github.com/korylprince/OldBrowserDetector).
**Download** the script file clicking [here](http://github.com/joaopjt/old-browser-detector/blob/master/dist/oldbrowserdetector.min.js)
OR
**Install package** via npm:
```bash
npm install old-browser-detector
```
---
```html
<script src="oldbrowserdetector.min.js"></script> // Import downloaded script file
<script type="text/javascript">
var Detector = new oldBrowserDetector(null, function() {
alert('Old Browser Detected.');
});
Detector.detect();
</script>
```
You can import the module with ES6 syntax too:
```javascript
// const Validator = require('old-browser-detector');
import OldBrowserDetector from 'old-browser-detector';
const Detector = new OldBrowserDetector(null, function() {
alert('Old browser detected.');
});
Detector.detect(); // Return `true` if old browser is detected.
```
---
The versions allowed object are optional, if passed by, it should be an **object**:
```javascript
import OldBrowserDetector from 'old-browser-detector';
const Detector = new OldBrowserDetector({ i: 11 });
```
**You can detect an specified version for mobile users too:**
Passing an object inside the browser object key, with keys *d* and *m* (desktop and mobile respectively),
the library will detect the browser version according to the device the client is using:
```javascript
import OldBrowserDetector from 'old-browser-detector';
const Detector = new OldBrowserDetector({ s: { d: 8, m: 3 } });
```
> When you use that option, the two keys ('d' and 'm') are **required**
To define versions, the keys for browsers avaiable are:
|Object Key |Default (Desktop) |Default (Mobile)|Browser |
|----------------|------------------|----------------|-------------------------|
|`i` |11 |11 | Internet Explorer |
|`f` |20 |20 | Firefox |
|`c` |20 |20 | Chrome |
|`o` |10.6 |10.6 | Opera |
|`s` |8 |3 | Safari |
|`n` |10 |10 | Netscape |
---
## API
### ``oldBrowserDetector``(``Versions``, ``Callback``)
**Versions**
> Type: **Object**
>
> Object with the minimun detection version for browsers.
**Callback**
> Type: **Function**
>
> Callback function trigged if browser version or minor is detected. It is called with the first param containing the browser information Object:
> { n: BrowserType, v: Version, t: DisplayName }
> The function return an object with the browser Type, Version and Display Name. Exemple:
```javascript
import OldBrowserDetector from 'old-browser-detector';
OldBrowserDetector.getBrowser(); // return an Object { n: BrowserSingleLetterCode, v: Version, t: DisplayName }
```
> The function detect if the browser is an old one, and call the callback if `true` is being returned. Exemple:
```javascript
const Detector = new OldBrowserDetector(null, function(b) {
console.log(b); // Object: { n: BrowserType, v: Version, t: DisplayName }
});
Detector.detect(); // Returns true and call callback if old browser detected
```
**
In first of all, fork the repo.
After clone the fork, make sure of use node `v6.11.4`. Install the dependencies, and **rollup** globally.
To build files, use the `rollup -c`.
Then, make a pull request with a nice description of changes.
[](https://opensource.org/licenses/MIT).
- [João Julio](http://github.com/joaopjt)
> Be part of this list too, contribute with us :)