Detección de agente de usuario compuesto usando Ramda , propulsado por ua-parser-js .
Porque los navegadores tienen errores .
MDN ofrece buenos consejos sobre cuándo y cuándo no usar la detección de agentes de usuario.
Bugz no es realmente otra biblioteca, es solo un envoltorio funcional* ligero* alrededor de ua-parser-js .
* Para aquellos que ya usan Ramda.
$ npm install ramda
$ npm install bugz
Ramda se define como una dependencia de pares, lo que significa que debe definirse en su propio paquete.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' ) ;
} Se pueden encontrar más ejemplos aquí.
Todas las funciones se cursan de forma predeterminada.
Acerca de (ua: string) → void
Registra toda la información obtenida de la cadena del agente de usuario a la consola.
getBrowser (ua: string) → { name: string, version: string, majorVersion: number }
Devuelve el navegador de la cadena del agente de usuario.
getBrowserName (ua: string) → string
Devuelve el nombre del navegador de la cadena del agente de usuario.
getBrowserVersion (ua: string) → string
Devuelve la versión del navegador de la cadena del agente de usuario.
getEngine (ua: string) → { name: string, version: string }
Devuelve el motor de la cadena del agente de usuario.
getenGinEname (ua: string) → string
Devuelve el nombre del motor de la cadena del agente de usuario.
getEngineVersion (ua: string) → string
Devuelve la versión del motor de la cadena del agente de usuario.
getos (ua: string) → { name: string, version: string }
Devuelve el sistema operativo de la cadena del agente de usuario.
getOSName (ua: string) → string
Devuelve el nombre del sistema operativo de la cadena del agente de usuario.
getOsVersion (ua: string) → string
Devuelve la versión del sistema operativo de la cadena del agente de usuario.
Isandroid (ua: string) → boolean
Devuelve si el sistema operativo es o no Android.
isandroidbrowser (ua: string) → boolean
Devuelve si el navegador es o no el navegador Android.
isbrowserName (name: string) → (ua: string) → boolean
Devuelve si el nombre del navegador es o no name .
isbrowserversion (version: string) → (ua: string) → boolean
Devuelve si la versión del navegador es o no version .
isbrowserversiongt (version: string) → (ua: string) → boolean
Devuelve si la versión del navegador es mayor que version .
isbrowserversiongte (version: string) → (ua: string) → boolean
Devuelve si la versión del navegador es mayor o igual a version .
isbrowserversionlt (version: string) → (ua: string) → boolean
Devuelve si la versión del navegador es menor que version .
isbrowserversionlte (version: string) → (ua: string) → boolean
Devuelve si la versión del navegador es menor o igual a version .
Ischrome (ua: string) → boolean
Devuelve si el navegador es o no Chrome.
isedge (ua: string) → boolean
Devuelve si el navegador es o no borde.
isedgehtml (ua: string) → boolean
Devuelve si el motor es o no Edgehtml.
isenGinename (name: string) → (ua: string) → boolean
Devuelve si el nombre del motor es o no name .
isEngineversion (version: string) → (ua: string) → boolean
Devuelve si la versión del motor es o no version .
isEngineversiongt (version: string) → (ua: string) → boolean
Devuelve si la versión del motor es mayor que version .
isEngineVersionGte (version: string) → (ua: string) → boolean
Devuelve si la versión del motor es mayor o igual a version .
isEngineVersionLt (version: string) → (ua: string) → boolean
Devuelve si la versión del motor es menor que version .
isEngineversionLte (version: string) → (ua: string) → boolean
Devuelve si la versión del motor es menor o igual a version .
Isfirefox (ua: string) → boolean
Devuelve si el navegador es o no Firefox.
Isgecko (ua: string) → boolean
Devuelve si el motor es o no gecko.
isie (ua: string) → boolean
Devuelve si el navegador es o no Internet Explorer.
isiemobile (ua: string) → boolean
Devuelve si el navegador es Internet Explorer Mobile.
isios (ua: string) → boolean
Devuelve si el sistema operativo es o no iOS.
ismacos (ua: string) → boolean
Devuelve si el sistema operativo es o no Mac OS.
IsMobilesAfari (ua: string) → boolean
Devuelve si el navegador es o no Safari móvil.
ISOSNAME (name: string) → (ua: string) → boolean
Devuelve si el nombre del sistema operativo es o no name .
ISoSVERSION (version: string) → (ua: string) → boolean
Devuelve si la versión del sistema operativo es o no version .
isosversiongt (version: string) → (ua: string) → boolean
Devuelve si la versión del sistema operativo es mayor que version .
isosversiongte (version: string) → (ua: string) → boolean
Devuelve si la versión del sistema operativo es mayor o igual a version .
ISOSVERSIONLT (version: string) → (ua: string) → boolean
Devuelve si la versión del sistema operativo es menor que version .
isosversionlte (version: string) → (ua: string) → boolean
Devuelve si la versión del sistema operativo es menor o igual a version .
isopera (ua: string) → boolean
Devuelve si el navegador es o no Opera.
isoperamobile (ua: string) → boolean
Devuelve si el navegador es Opera Mobile o no.
ispresto (ua: string) → boolean
Devuelve si el motor es o no Presto.
issafari (ua: string) → boolean
Devuelve si el navegador es o no Safari (escritorio).
istrident (ua: string) → boolean
Devuelve si el motor es tridente o no.
iswebkit (ua: string) → boolean
Devuelve si el motor es o no WebKit.
Iswindows (ua: string) → boolean
Devuelve si el sistema operativo es o no Windows.
iswindowsphone (ua: string) → boolean
Devuelve si el sistema operativo es o no Windows Phone.
parse (ua: string) → { ua: string, browser: { name: string, version: string, majorVersion: string }, engine: { name: string, version: string }, os: { name: string, version: string }
Devuelve toda la información obtenida de la cadena del agente de usuario.
import { isBrowserName } from 'bugz' ;Desafortunadamente sacudida de los árboles no es particularmente efectiva en Bugz porque la mayoría de las exportaciones son funciones puras al curry que actualmente no son susceptibles a la eliminación del código muerto. Por lo tanto, también se ofrece una construcción modular CommonJS.
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 para proporcionar una suscripción gratuita para admitir las pruebas de navegador cruzado.