ua-parser-js 에 의해 구동되는 Ramda 사용한 Composable 사용자 에이전트 감지.
브라우저에는 Bugz가 있기 때문입니다.
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
브라우저가 크롬인지 여부를 반환합니다.
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
브라우저가 인터넷 익스플로러인지 여부를 반환합니다.
ISIEMOBILE (ua: string) → boolean
브라우저가 인터넷 익스플로러 모바일인지 여부를 반환합니다.
ISIOS (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
브라우저가 오페라인지 여부를 반환합니다.
Isoperamobile (ua: string) → boolean
브라우저가 Opera Mobile인지 여부를 반환합니다.
ISPRESTO (ua: string) → boolean
엔진이 프레스토인지 여부를 반환합니다.
Issafari (ua: string) → boolean
브라우저가 사파리 (데스크탑)인지 여부를 반환합니다.
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' ;대부분의 수출은 현재 데드 코드 제거에 취약하지 않은 순수한 카레 기능이기 때문에 불공평하게 나무 흔들림이 특히 효과적이지 않습니다. 따라서 모듈 식 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.