जैसा कि अन्य लोग पहले ही नोट कर चुके हैं, विशिष्ट ब्राउज़र के लिए जाँच करने पर फीचर डिटेक्शन को प्राथमिकता दी जाती है। एक कारण यह है कि उपयोगकर्ता एजेंट स्ट्रिंग को बदला जा सकता है। एक और कारण यह है कि स्ट्रिंग नए संस्करणों में आपके कोड को बदल सकती है और तोड़ सकती है।
यदि आप अभी भी इसे करना चाहते हैं और किसी भी सफारी संस्करण के लिए परीक्षण करना चाहते हैं, तो मैं इसका उपयोग करने का सुझाव दूंगा
var isSafari = navigator.vendor && navigator.vendor.indexOf('Apple') > -1 &&
navigator.userAgent &&
navigator.userAgent.indexOf('CriOS') == -1 &&
navigator.userAgent.indexOf('FxiOS') == -1;
यह सभी उपकरणों पर सफारी के किसी भी संस्करण के साथ काम करेगा: मैक, आईफोन, आईपॉड, आईपैड।
संपादित करें
अपने वर्तमान ब्राउज़र में परीक्षण करने के लिए: https://jsfiddle.net/j5hgcbm2/
संपादित करें २
सही ढंग से iOS पर Chrome का पता लगाने के लिए क्रोम डॉक्स के अनुसार अपडेट किया गया
यह ध्यान देने योग्य है कि आईओएस पर सभी ब्राउजर सफारी के लिए सिर्फ रैपर हैं और एक ही इंजन का उपयोग करते हैं। इस धागे में अपने स्वयं के उत्तर पर bfred.it की टिप्पणी देखें।
संपादित करें 3
आईओएस पर फ़ायरफ़ॉक्स का सही तरीके से पता लगाने के लिए फ़ायरफ़ॉक्स डॉक्स के अनुसार अपडेट किया गया