ua-parser-jsを搭載したRamdaを使用したComposableユーザーエージェント検出。
ブラウザにはバグがあるためです。
MDNは、ユーザーエージェントの検出を使用しない時期について良いアドバイスを提供します。
Bugzは本当に別のライブラリではなく、 ua-parser-jsの周りの軽量*機能ラッパーです。
*すでにRamdaを使用している人のために。
$ npm install ramda
$ npm install bugz
RAMDAは、ピア依存関係として定義されています。つまり、自分の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' ) ;
} さらなる例はここにあります。
すべての関数はデフォルトでカラー化されています。
約(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 }
ユーザーエージェント文字列からOSを返します。
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以下であるかどうかを返します。
Ischrome (ua: string) → boolean
ブラウザがChromeであるかどうかを返します。
ISEDED (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
エンジンがGeckoであるかどうかを返します。
ISIE (ua: string) → boolean
ブラウザがインターネットエクスプローラーであるかどうかを返します。
isiemobile (ua: string) → boolean
ブラウザがInternet Explorer Mobileであるかどうかを返します。
isios (ua: string) → boolean
オペレーティングシステムがiOSであるかどうかを返します。
ISMACOS (ua: string) → boolean
オペレーティングシステムがMac OSであるかどうかを返します。
Ismobilesafari (ua: string) → boolean
ブラウザがモバイルSafariであるかどうかを返します。
ISOSNAME (name: string) → (ua: string) → boolean
OS名がnameであるかどうかを返します。
ISOSVERSION (version: string) → (ua: string) → boolean
OSバージョンがversionであるかどうかを返します。
ISOSSVERSIONGT (version: string) → (ua: string) → boolean
OSバージョンがversionよりも大きいかどうかを返します。
ISOSSVERSIONGTE (version: string) → (ua: string) → boolean
OSバージョンがversion以上であるかどうかを返します。
ISOSSVERSIONLT (version: string) → (ua: string) → boolean
OSバージョンがversionよりも小さいかどうかを返します。
ISOSSVERSIONLTE (version: string) → (ua: string) → boolean
OSバージョンがversion以下であるかどうかを返します。
Isopera (ua: string) → boolean
ブラウザがオペラであるかどうかを返します。
ISOPERAMOBILE (ua: string) → boolean
ブラウザがオペラモバイルであるかどうかを返します。
ispresto (ua: string) → boolean
エンジンがプレストであるかどうかを返します。
Issafari (ua: string) → boolean
ブラウザがSafari(デスクトップ)であるかどうかを返します。
ISTrident (ua: string) → boolean
エンジンがトライデントかどうかを返します。
iswebkit (ua: string) → boolean
エンジンがWebKitであるかどうかを返します。
iSWINDOWS (ua: string) → boolean
オペレーティングシステムがWindowsであるかどうかを返します。
iSWINDOWSPONE (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で特に効果的ではありません。したがって、モジュラー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。