اكتشاف وكيل المستخدم القابل للتأليف باستخدام Ramda ، مدعوم من ua-parser-js .
لأن المتصفحات لديها bugs bugz.
يقدم MDN بعض النصائح الجيدة حول متى ومتى لا تستخدم اكتشاف وكيل المستخدم.
Bugz ليست حقًا مكتبة أخرى ، إنها مجرد غلاف وظيفي خفيف الوزن حول ua-parser-js .
* لأولئك الذين يستخدمون بالفعل رامدا.
$ 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
إرجاع اسم نظام التشغيل من سلسلة وكيل المستخدم.
GetOsversion (ua: string) → string
إرجاع إصدار نظام التشغيل من سلسلة وكيل المستخدم.
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 Mobile أم لا.
ISIOS (ua: string) → boolean
يعيد ما إذا كان نظام التشغيل هو iOS أم لا.
Ismacos (ua: string) → boolean
إرجاع ما إذا كان نظام التشغيل هو نظام التشغيل Mac OS أم لا.
Ismobilesafari (ua: string) → boolean
يعيد ما إذا كان المتصفح هو Safari Mobile أم لا.
isOSName (name: string) → (ua: string) → boolean
إرجاع ما إذا كان اسم نظام التشغيل هو name أم لا.
isOSVersion (version: string) → (ua: string) → boolean
إرجاع ما إذا كان إصدار نظام التشغيل هو version أم لا.
isOSVersionGT (version: string) → (ua: string) → boolean
إرجاع ما إذا كان إصدار نظام التشغيل أكبر من 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
يعيد ما إذا كان المتصفح هو أوبرا موبايل أم لا.
iSpresto (ua: string) → boolean
يعيد ما إذا كان المحرك هو بريستو أم لا.
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 لأن معظم الصادرات هي وظائف خالصة من الكاري التي ليست عرضة حاليًا لإزالة الكود الميت. لذلك ، يتم تقديم بناء 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 لتوفير اشتراك مجاني لدعم اختبار المتصفح عبر.