由ua-parser-js提供动力的Ramda的组合用户代理检测。
因为浏览器有错误的bugz。
MDN就何时和何时不使用用户代理检测提供了一些很好的建议。
Bugz并不是另一个库,它只是ua-parser-js周围的轻巧*功能包装。
*对于已经使用Ramda的人。
$ npm install ramda
$ npm install bugz
ramda定义为同行依赖性,这意味着它需要在您自己的软件包中定义。
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' ) ;
} 可以在此处找到进一步的示例。
默认情况下,所有功能都是咖喱。
关于(ua: string) → void
将从用户代理字符串获得的所有信息记录到控制台。
getBrowser (ua: string) → { name: string, version: string, majorVersion: number }
从用户代理字符串返回浏览器。
getBrowsername (ua: string) → string
从用户代理字符串返回浏览器名称。
getBrowserversion (ua: string) → string
从用户代理字符串返回浏览器版本。
getEngine (ua: string) → { name: string, version: string }
从用户代理字符串返回引擎。
getEngineName (ua: string) → string
从用户代理字符串返回引擎名。
GetEngineversion (ua: string) → string
从用户代理字符串返回引擎版本。
getos (ua: string) → { name: string, version: string }
从用户代理字符串返回操作系统。
getosname (ua: string) → string
从用户代理字符串返回OS名称。
getosversion (ua: string) → string
从用户代理字符串返回OS版本。
iSandroid (ua: string) → boolean
返回操作系统是否为Android。
isandroidBrowser (ua: string) → boolean
返回浏览器是否为Android浏览器。
isbrowsername (name: string) → (ua: string) → boolean
返回浏览器名称是否name 。
isBrowserversion (version: string) → (ua: string) → boolean
返回浏览器版本是否为version 。
isbrowserversiongt (version: string) → (ua: string) → boolean
返回浏览器版本是否大于version 。
isbrowserversiongte (version: string) → (ua: string) → boolean
返回浏览器版本是否大于或等于version 。
isbrowserversionlt (version: string) → (ua: string) → boolean
返回浏览器版本是否小于version 。
isBrowserVersionLte (version: string) → (ua: string) → boolean
返回浏览器版本是否小于或等于version 。
缺血(ua: string) → boolean
返回浏览器是否为Chrome。
ISEDGE (ua: string) → boolean
返回浏览器是否为边缘。
ISEDGEHTML (ua: string) → boolean
返回引擎是否为Edgehtml。
IsengineName (name: string) → (ua: string) → boolean
返回引擎名称是否name 。
IsEngineversion (version: string) → (ua: string) → boolean
返回引擎版本是否为version 。
isEngineversiongt (version: string) → (ua: string) → boolean
返回引擎版本是否大于version 。
isEngineversiongte (version: string) → (ua: string) → boolean
返回发动机版本是否大于或等于version 。
isEngineversionlt (version: string) → (ua: string) → boolean
返回引擎版本是否小于version 。
isEngineVersionLte (version: string) → (ua: string) → boolean
返回引擎版本是否小于或等于version 。
isfirefox (ua: string) → boolean
返回浏览器是否为firefox。
isgecko (ua: string) → boolean
返回引擎是否为壁虎。
isie (ua: string) → boolean
返回浏览器是否是Internet Explorer。
isiemobile (ua: string) → boolean
返回浏览器是否是Internet Explorer Mobile。
ISIO (ua: string) → boolean
返回操作系统是否是iOS。
ismacos (ua: string) → boolean
返回操作系统是否为Mac OS。
ismobilesafari (ua: string) → boolean
返回浏览器是否是移动野生动物园。
isosname (name: string) → (ua: string) → boolean
返回OS名称是否name 。
Isosversion (version: string) → (ua: string) → boolean
返回OS版本是否为version 。
Isosversiongt (version: string) → (ua: string) → boolean
返回OS版本是否大于version 。
Isosversiongte (version: string) → (ua: string) → boolean
返回OS版本是否大于或等于version 。
Isosversionlt (version: string) → (ua: string) → boolean
返回OS版本是否小于version 。
IsosversionLte (version: string) → (ua: string) → boolean
返回OS版本是否小于或等于version 。
isopera (ua: string) → boolean
返回浏览器是否为Opera。
异植物(ua: string) → boolean
返回浏览器是否为Opera Mobile。
ispresto (ua: string) → boolean
返回发动机是否为PRESTO。
ISSAFARI (ua: string) → boolean
返回浏览器是否为Safari(桌面)。
iStrident (ua: string) → boolean
返回发动机是否三叉戟。
iswebkit (ua: string) → boolean
返回引擎是否为WebKit。
iswindows (ua: string) → boolean
返回操作系统是否是Windows。
iswindowsphone (ua: string) → boolean
返回操作系统是否是Windows Phone。
parse (ua: string) → { ua: string, browser: { name: string, version: string, majorVersion: string }, engine: { name: string, version: string }, os: { name: string, version: string }
返回从用户代理字符串获得的所有信息。
import { isBrowserName } from 'bugz' ;不幸的是,摇晃的树在Bugz上并不是特别有效,因为大多数出口是纯咖喱功能,目前不容易消除死亡代码。因此,还提供了模块化的commonj构建。
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 => { } ) ; 麻省理工学院

提供免费订阅以支持交叉浏览器测试的浏览。