DeviceR
Easily get informations about client devices over http requests.
We are adding more detections over time, there is a lot of stuff to keep track of.
Install and quick usage
npm install --save devicer
Test it if you want to
npm test
In any NodeJS module
var devicer = ;var details = devicer; // or, if you have an http request objectdetails = devicer;
Connect/Express middleware (see below for configuration options)
var devicer = ;var app = ; // req.device will be available after this middlewareapp;
DeviceR API
devicer.detect(request)
Searches the request object for a User-Agent
header and parses it
returns: object
devicer.parseUserAgent(userAgentString)
Parses the userAgentString
returns: object
devicer.middleware(options)
A middleware to use in connect/express applications.
You may pass an options
object to configure the middleware behaviour.
The following example also illustrates the default behaviour.
var devicer = ;var app = ; app;
Output API
Class Device
A Device instance is what a call to detect
, parseUserAgent
methods returns and the DeviceR middleware sets on the request device
property.
Properties
Device.match
The user agent string matched as validDevice.compliance
The user agent compliance level. Usually "Mozilla/5.0" in modern browsersDevice.platform
The platform on which the client is runningDevice.build
The platform build, if specifiedDevice.additional
Any further specification on the user agentDevice.engine
ABrowserEngine
instance
Methods
Device#isIPad
Returnstrue
if the device is likely to be an iPadDevice#isIPhone
Returnstrue
if the device is likely to be an iPhoneDevice#isAndroid
Returnstrue
if the device is likely to be an android deviceDevice#isDesktop
Returnstrue
if the device is likely to be a desktop computerDevice#isMobile
Returnstrue
if the device is likely to be a mobile deviceDevice#isWin
Returnstrue
if the device is running WindowsDevice#isOSX
Returnstrue
if the device is running MAC OSXDevice#isLinux
Returnstrue
if the device is running Linux
Class BrowserEngine
Properties
BrowserEngine.name
The browser name string
Methods
BrowserEngine#isChrome
Returnstrue
if it is a Chrome browserBrowserEngine#isWebKit
Returnstrue
if it is a WebKit based browserBrowserEngine#isFirefox
Returnstrue
if it is a Firefox browserBrowserEngine#isOpera
Returnstrue
if it is an Opera browserBrowserEngine#isSafari
Returnstrue
if it is a Safari browserBrowserEngine#isIE
Returnstrue
if it is an Internet Explorer or Microsoft Edge browser