Détection d'agent utilisateur composable à l'aide de Ramda , alimentée par ua-parser-js .
Parce que les navigateurs ont des bugz bugz.
MDN offre de bons conseils sur le moment et le moment de ne pas utiliser la détection des agents utilisateur.
Bugz n'est pas vraiment une autre bibliothèque, c'est juste un wrapper fonctionnel léger * autour de ua-parser-js .
* Pour ceux qui utilisent déjà Ramda.
$ npm install ramda
$ npm install bugz
Ramda est défini comme une dépendance par les pairs, ce qui signifie qu'elle doit être définie dans votre propre package.json.
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' ) ;
} D'autres exemples peuvent être trouvés ici.
Toutes les fonctions sont curry par défaut.
À propos de (ua: string) → void
Enregistre toutes les informations obtenues de la chaîne d'agent utilisateur à la console.
getBrowser (ua: string) → { name: string, version: string, majorVersion: number }
Renvoie le navigateur de la chaîne d'agent utilisateur.
getBrowsername (ua: string) → string
Renvoie le nom du navigateur de la chaîne de l'agent utilisateur.
getBrowserVersion (ua: string) → string
Renvoie la version du navigateur de la chaîne d'agent utilisateur.
getEngine (ua: string) → { name: string, version: string }
Renvoie le moteur de la chaîne de l'agent utilisateur.
getEngineName (ua: string) → string
Renvoie le nom du moteur de la chaîne de l'agent utilisateur.
getEngineVersion (ua: string) → string
Renvoie la version du moteur de la chaîne d'agent utilisateur.
getOS (ua: string) → { name: string, version: string }
Renvoie le système d'exploitation de la chaîne de l'agent utilisateur.
getOSName (ua: string) → string
Renvoie le nom du système d'exploitation de la chaîne de l'agent utilisateur.
getoSversion (ua: string) → string
Renvoie la version OS de la chaîne d'agent utilisateur.
isAndroid (ua: string) → boolean
Renvoie si le système d'exploitation est ou non Android.
IsandroidBrowser (ua: string) → boolean
Renvoie si le navigateur est ou non le navigateur Android.
iSbrowSername (name: string) → (ua: string) → boolean
Renvoie si le nom du navigateur est ou name .
IsBrowServersion (version: string) → (ua: string) → boolean
Renvoie si la version du navigateur est ou version .
IsBrowSerVersiongt (version: string) → (ua: string) → boolean
Renvoie si la version du navigateur est ou non supérieure à version .
IsBrowSerVersiongte (version: string) → (ua: string) → boolean
Renvoie si la version du navigateur est ou non supérieure ou égale à version .
IsBrowSerVersionlt (version: string) → (ua: string) → boolean
Renvoie si la version du navigateur est version ou non.
IsBrowSerVersionlte (version: string) → (ua: string) → boolean
Renvoie si la version du navigateur est inférieure ou égale à version .
ischrome (ua: string) → boolean
Renvoie si le navigateur est ou non chromé.
IsEdge (ua: string) → boolean
Renvoie si le navigateur est ou non.
IsEdgehtml (ua: string) → boolean
Renvoie si le moteur est ou non Edgehtml.
iSenngineName (name: string) → (ua: string) → boolean
Renvoie si le nom du moteur est ou name .
IsEngineVersion (version: string) → (ua: string) → boolean
Renvoie si la version du moteur est ou version .
iSenngineVerisegt (version: string) → (ua: string) → boolean
Renvoie si la version du moteur est ou non supérieure à version .
isengineversiongte (version: string) → (ua: string) → boolean
Renvoie si la version moteur est ou non supérieure ou égale à version .
iSenngineVersionlt (version: string) → (ua: string) → boolean
Renvoie si la version moteur est version ou non.
isengineversionlte (version: string) → (ua: string) → boolean
Renvoie si la version moteur est inférieure ou égale à version .
Isfirefox (ua: string) → boolean
Renvoie si le navigateur est ou non Firefox.
Isgecko (ua: string) → boolean
Renvoie si le moteur est Gecko ou non.
Isie (ua: string) → boolean
Renvoie si le navigateur est Internet Explorer.
iSieMobile (ua: string) → boolean
Renvoie si le navigateur est ou non Internet Explorer Mobile.
ISIOS (ua: string) → boolean
Renvoie si le système d'exploitation est ou non iOS.
Ismacos (ua: string) → boolean
Renvoie si le système d'exploitation est ou non Mac OS.
Ismobilesafari (ua: string) → boolean
Renvoie si le navigateur est ou non mobile Safari.
Isosname (name: string) → (ua: string) → boolean
Renvoie si le nom du système d'exploitation est ou name .
isosversion (version: string) → (ua: string) → boolean
Renvoie si la version OS version ou non.
isosversiongt (version: string) → (ua: string) → boolean
Renvoie si la version OS est ou non supérieure à version .
isosversiongte (version: string) → (ua: string) → boolean
Renvoie si la version OS est ou non supérieure ou égale à version .
Isosversionlt (version: string) → (ua: string) → boolean
Renvoie si la version OS est version ou non.
isosversionlte (version: string) → (ua: string) → boolean
Renvoie si la version OS est ou non inférieure ou égale à version .
isopera (ua: string) → boolean
Renvoie si le navigateur est ou non de l'opéra.
isOperamobile (ua: string) → boolean
Renvoie si le navigateur est ou non Opera Mobile.
isPresto (ua: string) → boolean
Renvoie si le moteur est ou non Presto.
issafari (ua: string) → boolean
Renvoie si le navigateur est safari ou non (bureau).
Istrident (ua: string) → boolean
Revient si le moteur est trident ou non.
Iswebkit (ua: string) → boolean
Renvoie si le moteur est ou non.
Iswindows (ua: string) → boolean
Renvoie si le système d'exploitation est ou non Windows.
Iswindowsphone (ua: string) → boolean
Renvoie si le système d'exploitation est ou non Windows Phone.
Parse (ua: string) → { ua: string, browser: { name: string, version: string, majorVersion: string }, engine: { name: string, version: string }, os: { name: string, version: string }
Renvoie toutes les informations obtenues à partir de la chaîne d'agent utilisateur.
import { isBrowserName } from 'bugz' ;Malheureusement, les tremblements d'arbres ne sont pas particulièrement efficaces sur Bugz, car la plupart des exportations sont des fonctions pures au curry qui ne sont actuellement pas sensibles à l'élimination du code mort. Par conséquent, une construction de CommonJS modulaire est en outre offerte.
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

Browserstack pour fournir un abonnement gratuit pour prendre en charge les tests de navigateur croisé.