Package Exports
- browser-detect
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (browser-detect) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
📦 Installation
npm
$ npm install browser-detectyarn
$ yarn add browser-detect📃 Example
Web
<script src="node_modules/browser-detect/dist/browser-detect.umd.js"></script>const result = browserDetect();
console.log(result);output
{
name: 'chrome',
version: '58.0.3029',
versionNumber: 58.03029,
mobile: false,
os: 'Windows NT 10.0'
}Web with module
import browser from 'browser-detect';
const result = browser();
console.log(result);output
{
name: 'chrome',
version: '58.0.3029',
versionNumber: 58.03029,
mobile: false,
os: 'Windows NT 10.0'
}NodeJS
Just simple :trollface:
const browser = require('browser-detect');
const result = browser();
console.log(result);output
{
name: 'node',
version: '9.9.0',
versionNumber: 9.9,
mobile: false,
os: 'win32'
}NodeJS with Express
const router = express.Router();
const browser = require('browser-detect');
router.get('/', req => {
const result = browser(req.headers['user-agent']);
console.log(result);
});
return router;output
{
name: 'ie',
version: '9.0',
versionNumber: 9,
mobile: false,
os: 'Windows NT 10.0'
}Or set a middleware and send to res.locals.
// browserDetectMiddleware.js
const browser = require('browser-detect');
const MiddleWare = () => req => {
res.locals.browser = browser(req.headers['user-agent']);
next();
};
module.exports = MiddleWare;// app.js
const express = require('express');
const browserDetectMiddleware = require('./browserDetectMiddleware');
const app = express();
app.use(browserDetectMiddleware())View will can access browser variable.
<!-- view.ejs -->
<%=JSON.stringify(browser)%>output
"{ name: 'firefox', version: '53.0.0', versionNumber: 53, mobile: false, os: 'Windows NT 10.0' }"📃 Demo
Web
- open
examples/client.htmlby your browser.
NodeJS
- open command or terminal
- move directory to
browser-detectpath that you download - type following code
$ node ./examples/server.js⚡ Type
| name | type | description | example |
|---|---|---|---|
| name | string | a browser name | ie, chrome, firefox |
| version | string | browser or node version | 59.2.22 |
| versionNumber | number | browser or node number casted to number | 59.222 |
| mobile | boolean | if browser is in mobile environment, it will be true | ture |
| os | string | os type name | Windows NT 10.0 |
🚩 Roadmap
- detect browser both compatible client and server
- support AMD and CommonJS module feature
- support typings
- support guideline and documentations for contributors
- support browser compatity to IE7
- support to detect mobile and OS
- support CI (TravisCI)
- support unit tests
- support e2e tests
- suport cdn
🔎 Compatibility
- IE 7+
- Chrome (Windows, MacOS)
- Edge
- Firefox
- Safari (Windows, MacOS)
- Opera
- Android
- Chromium Browsers (Will be named chrome)
:octocat: Contribution
environment
- clone project from Github
$ git clone git@github.com:KennethanCeyer/browser-detect.git- install npm packages
$ cd browser-detect
$ npm install- build sources
$ npm run buildtest
$ npm run test