การตรวจจับตัวแทนผู้ใช้แบบผสมผสานโดยใช้ Ramda ขับเคลื่อนโดย ua-parser-js
เพราะเบราว์เซอร์มี ข้อ บกพร่อง
MDN เสนอคำแนะนำที่ดีเกี่ยวกับเวลาและ เมื่อใดที่จะไม่ ใช้การตรวจจับตัวแทนผู้ใช้
Bugz ไม่ใช่ห้องสมุดอื่นจริงๆมันเป็นเพียงเสื้อคลุมที่มีน้ำหนักเบา* ที่ใช้งานได้รอบ ua-parser-js
* สำหรับผู้ที่ใช้ Ramda อยู่แล้ว
$ npm install ramda
$ npm install bugz
Ramda ถูกกำหนดให้เป็นพึ่งพาเพื่อนซึ่งหมายความว่าจำเป็นต้องกำหนดไว้ในแพ็คเกจของคุณเอง 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 }
ส่งคืนระบบปฏิบัติการจากสตริงตัวแทนผู้ใช้
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
ส่งคืนไม่ว่าเบราว์เซอร์จะเป็น Internet Explorer หรือไม่
isiemobile (ua: string) → boolean
ส่งคืนไม่ว่าเบราว์เซอร์จะเป็นมือถือ Internet Explorer หรือไม่
isios (ua: string) → boolean
ส่งคืนไม่ว่าระบบปฏิบัติการจะเป็น iOS หรือไม่
ismacos (ua: string) → boolean
ส่งคืนไม่ว่าระบบปฏิบัติการจะเป็น Mac OS หรือไม่
ismobilesafari (ua: string) → boolean
ส่งคืนไม่ว่าเบราว์เซอร์จะเป็น Safari มือถือหรือไม่
isosname (name: string) → (ua: string) → boolean
ส่งคืนไม่ว่าชื่อระบบปฏิบัติการจะเป็น name หรือไม่
isosversion (version: string) → (ua: string) → boolean
ส่งคืนว่าเวอร์ชันระบบปฏิบัติการเป็น version หรือไม่
isosversiongt (version: string) → (ua: string) → boolean
ส่งคืนว่าเวอร์ชัน OS นั้นมากกว่า version หรือไม่
isosversiongte (version: string) → (ua: string) → boolean
ส่งคืนว่าเวอร์ชันระบบปฏิบัติการนั้นมากกว่าหรือเท่ากับ version หรือไม่
isosversionlt (version: string) → (ua: string) → boolean
ส่งคืนว่าเวอร์ชันระบบปฏิบัติการนั้นน้อยกว่า version หรือไม่
isosversionlte (version: string) → (ua: string) → boolean
ส่งคืนว่าเวอร์ชันระบบปฏิบัติการน้อยกว่าหรือเท่ากับ version หรือไม่
isopera (ua: string) → boolean
ส่งคืนไม่ว่าเบราว์เซอร์จะเป็นโอเปร่าหรือไม่
isoperamobile (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 หรือไม่
แยกวิเคราะห์ (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 => { } ) ; มิกซ์

BrowserStack สำหรับการสมัครสมาชิกฟรีเพื่อรองรับการทดสอบข้ามเบราว์เซอร์