क्लाइंट मशीन पर ब्राउज़र वर्जन डिटेक्ट करने के लिए, आपका स्क्रिप्ट navigator.appVersion या navigator.userAgent के मान का विश्लेषण कर सकता है।
उदाहरण
console.log(navigator.appVersion);
आउटपुट
यह आपके ब्राउज़र और उसके वर्जन के आधार पर आउटपुट देगा:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36
बेहतर तरीका: फीचर डिटेक्शन
यूजर एजेंट पार्सिंग अनुशंसित नहीं है** क्योंकि:
- इसे स्पूफ किया जा सकता है
- ब्राउज़र्स इसे बदलते रहते हैं
- मेंटेनेंस बोझ
// फीचर डिटेक्शन - पसंदीदा तरीका
if ('fetch' in window) {
// fetch API उपलब्ध है
}
if ('IntersectionObserver' in window) {
// IntersectionObserver सपोर्टेड
}
// CSS फीचर डिटेक्शन
if (CSS.supports('display', 'grid')) {
// CSS Grid सपोर्टेड
}
यदि UA पार्सिंग आवश्यक है
// हल्का UA पार्सर
function getBrowserInfo() {
const ua = navigator.userAgent;
let browser = 'Unknown';
let version = 'Unknown';
if (ua.includes('Edg/')) {
browser = 'Edge';
version = ua.match(/Edg\/(\d+)/)[1];
} else if (ua.includes('Chrome/') && !ua.includes('Edg/')) {
browser = 'Chrome';
version = ua.match(/Chrome\/(\d+)/)[1];
} else if (ua.includes('Firefox/')) {
browser = 'Firefox';
version = ua.match(/Firefox\/(\d+)/)[1];
} else if (ua.includes('Safari/') && !ua.includes('Chrome/')) {
browser = 'Safari';
version = ua.match(/Version\/(\d+)/)[1];
}
return { browser, version };
}
सर्वोत्तम अभ्यास: ब्राउज़र डिटेक्शन के बजाय फीचर डिटेक्शन का उपयोग करें।