Mit Ramda mit komponierbarer Benutzeragenten, die von ua-parser-js betrieben werden.
Weil Browser Bugs Bugz haben.
MDN bietet einige gute Ratschläge, wann und wann nicht die Erkennung von Benutzeragenten verwendet werden soll.
Bugz ist nicht wirklich eine andere Bibliothek, es ist nur ein leichter* funktionaler Wrapper um ua-parser-js .
* Für diejenigen, die bereits Ramda verwenden.
$ npm install ramda
$ npm install bugz
Ramda ist definiert als eine Peer -Abhängigkeit, was bedeutet, dass sie in Ihrem eigenen Paket definiert werden muss.
https://repl.it/nlm0/1
import { isOSName } from 'bugz' ;
const isWindows = isOSName ( 'Windows' ) ;
if ( isWindows ( window . navigator . userAgent ) ) {
console . log ( 'OS is Windows' ) ;
} import { isOSName , isBrowserName } from 'bugz' ;
import { allPass } from 'ramda' ;
const isWindows = isOSName ( 'Windows' ) ;
const isFirefox = isBrowserName ( 'Firefox' ) ;
const isWindowsFirefox = allPass ( [
isWindows ,
isFirefox
] ) ;
if ( isWindowsFirefox ( window . navigator . userAgent ) ) {
console . log ( 'OS is Windows and Browser is Firefox' ) ;
} import { isOSName , isBrowserName , isBrowserVersionLt } from 'bugz' ;
import { allPass } from 'ramda' ;
const isWindows = isOSName ( 'Windows' ) ;
const isFirefox = isBrowserName ( 'Firefox' ) ;
const isBrowserVersionLt3_7 = isBrowserVersionLt ( '3.7' ) ;
const isWindowsFirefoxLt3_7 = allPass ( [
isWindows ,
isFirefox ,
isBrowserVersionLt3_7
] ) ;
if ( isWindowsFirefoxLt3_7 ( window . navigator . userAgent ) ) {
console . log ( 'OS is Windows and Browser is Firefox < 3.7' ) ;
} Weitere Beispiele finden Sie hier.
Alle Funktionen sind standardmäßig Curry.
über (ua: string) → void
Protokolliert alle Informationen, die von der Benutzeragentenzeichenfolge erhalten wurden, bei der Konsole.
getBrowser (ua: string) → { name: string, version: string, majorVersion: number }
Gibt den Browser aus der Benutzeragentenzeichenfolge zurück.
getBrowername (ua: string) → string
Gibt den Browsernamen aus der Benutzeragentenzeichenfolge zurück.
getBrowserversion (ua: string) → string
Gibt die Browserversion aus der Benutzeragentenzeichenfolge zurück.
GetEngine (ua: string) → { name: string, version: string }
Gibt die Engine aus der Benutzeragentenzeichenfolge zurück.
Getenginename (ua: string) → string
Gibt den Motornamen aus der Benutzeragentenzeichenfolge zurück.
GetEngineversion (ua: string) → string
Gibt die Engine -Version aus der Benutzeragentenzeichenfolge zurück.
Getos (ua: string) → { name: string, version: string }
Gibt das Betriebssystem aus der Benutzeragentenzeichenfolge zurück.
GetosName (ua: string) → string
Gibt den Betriebssystemnamen aus der Benutzeragentenzeichenfolge zurück.
GetoSversion (ua: string) → string
Gibt die Betriebssystemversion aus der Benutzeragentenzeichenfolge zurück.
Isandroid (ua: string) → boolean
Gibt zurück, ob das Betriebssystem Android ist oder nicht.
Isandroidbrowser (ua: string) → boolean
Gibt zurück, ob der Browser Android -Browser ist oder nicht.
isbrowername (name: string) → (ua: string) → boolean
Gibt zurück, ob der Name des Browsers der name ist oder nicht.
isBrowserversion (version: string) → (ua: string) → boolean
Gibt zurück, ob die Browser -Version version ist oder nicht.
isBrowserversionGT (version: string) → (ua: string) → boolean
Gibt zurück, ob die Browserversion größer ist als version .
isbrowserversiongte (version: string) → (ua: string) → boolean
Gibt zurück, ob die Browser -Version größer oder gleich der version ist oder nicht.
isBrowserversionLT (version: string) → (ua: string) → boolean
Gibt zurück, ob die Browser -Version weniger als version ist oder nicht.
isBrowserversionLTE (version: string) → (ua: string) → boolean
Gibt zurück, ob die Browserversion kleiner oder gleich der version ist oder nicht.
Isdrom (ua: string) → boolean
Gibt zurück, ob der Browser Chrom ist oder nicht.
ISEDED (ua: string) → boolean
Gibt zurück, ob der Browser die Kante ist oder nicht.
isEdhtml (ua: string) → boolean
Gibt zurück, ob der Motor EdgeHtml ist oder nicht.
iSenginenName (name: string) → (ua: string) → boolean
Gibt zurück, ob der Namen des Motors der name ist oder nicht.
iSengineVersion (version: string) → (ua: string) → boolean
Gibt zurück, ob die Motorversion version ist oder nicht.
iSengineversionGT (version: string) → (ua: string) → boolean
Gibt zurück, ob die Motorversion größer ist als version .
iSengineversiongte (version: string) → (ua: string) → boolean
Gibt zurück, ob die Motorversion größer oder gleich der version ist oder nicht.
iSengineversionLT (version: string) → (ua: string) → boolean
Gibt zurück, ob die Motorversion weniger als version ist oder nicht.
iSengineversionLTE (version: string) → (ua: string) → boolean
Gibt zurück, ob die Motorversion kleiner oder gleich der version ist oder nicht.
isfirefox (ua: string) → boolean
Gibt zurück, ob der Browser Firefox ist oder nicht.
Isgecko (ua: string) → boolean
Gibt zurück, ob der Motor Gecko ist oder nicht.
Isie (ua: string) → boolean
Gibt zurück, ob der Browser Internet Explorer ist oder nicht.
Isiemobile (ua: string) → boolean
Gibt zurück, ob der Browser Internet Explorer Mobile ist oder nicht.
ISIOS (ua: string) → boolean
Gibt zurück, ob das Betriebssystem iOS ist oder nicht.
Ismacos (ua: string) → boolean
Gibt zurück, ob das Betriebssystem Mac OS ist oder nicht.
Ismobilesafari (ua: string) → boolean
Gibt zurück, ob der Browser mobile Safari ist oder nicht.
ISOSNAME (name: string) → (ua: string) → boolean
Gibt zurück, ob der Name des Betriebssystems name ist oder nicht.
ISOSVERSION (version: string) → (ua: string) → boolean
Gibt zurück, ob die OS -Version version ist oder nicht.
ISOSVERSIONGT (version: string) → (ua: string) → boolean
Gibt zurück, ob die OS -Version größer ist als version .
ISOSVERSIONGTE (version: string) → (ua: string) → boolean
Gibt zurück, ob die OS -Version größer oder gleich der version ist oder nicht.
isoSversionLT (version: string) → (ua: string) → boolean
Gibt zurück, ob die OS -Version weniger als version ist oder nicht.
ISOSVERSIONLTE (version: string) → (ua: string) → boolean
Gibt zurück, ob die OS -Version kleiner oder gleich der version ist oder nicht.
Isopera (ua: string) → boolean
Gibt zurück, ob der Browser Opera ist oder nicht.
Isoperamobile (ua: string) → boolean
Gibt zurück, ob der Browser Opera Mobile ist oder nicht.
ISPRESTO (ua: string) → boolean
Gibt zurück, ob der Motor Presto ist oder nicht.
Issafari (ua: string) → boolean
Gibt zurück, ob der Browser Safari (Desktop) ist oder nicht.
iStrident (ua: string) → boolean
Gibt zurück, ob der Motor Dreizack ist oder nicht.
Iswebkit (ua: string) → boolean
Gibt zurück, ob die Engine Webkit ist oder nicht.
IsWindows (ua: string) → boolean
Gibt zurück, ob das Betriebssystem Windows ist oder nicht.
IsWindowsa (ua: string) → boolean
Gibt zurück, ob das Betriebssystem Windows Phone ist oder nicht.
Parse (ua: string) → { ua: string, browser: { name: string, version: string, majorVersion: string }, engine: { name: string, version: string }, os: { name: string, version: string }
Gibt alle von der Benutzeragentenzeichenfolge erhaltenen Informationen zurück.
import { isBrowserName } from 'bugz' ;Leider ist das Schütteln von Bäumen bei Bugz nicht besonders effektiv, da die meisten Exporte reine Curry -Funktionen sind, die derzeit nicht für tote Code -Eliminierung anfällig sind. Daher wird zusätzlich ein modularer CommonJS -Build angeboten.
const bugz = require ( 'bugz' ) ; // Or modular for optimized builds
const isBrowserName = require ( 'bugz/isBrowserName' ) ;
const isBrowserVersion = require ( 'bugz/isBrowserVersion' ) ; < script src =" bugz.umd.js " > </ script >
< script >
const isBrowserName = Bugz . isBrowserName ;
</ script > require ( [ 'bugz' ] , bugz => { } ) ; MIT

BrowsStack für die Bereitstellung eines kostenlosen Abonnements zur Unterstützung des Cross -Browser -Tests.