आईओएस का पता लगाना
मैं उपयोगकर्ता एजेंट सूँघने का प्रशंसक नहीं हूं, लेकिन यहां बताया गया है कि आप इसे कैसे करेंगे:
var iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
एक और तरीका है navigator.platform:
var iOS = navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform);
iOStrueया तो होगाfalse
MSStream क्यों नहीं
Microsoft ने IE11 में किसी भी तरह Gmail को आज़माने और मूर्ख बनाने के लिए iPhone शब्द को इंजेक्ट किया userAgent। इसलिए हमें इसे बाहर करने की जरूरत है। इसके बारे में और अधिक जानकारी यहाँ और यहाँ ।
नीचे IE11 का अद्यतन userAgent(विंडोज फोन 8.1 अपडेट के लिए इंटरनेट एक्सप्लोरर) है:
मोज़िला / 5.0 (मोबाइल; विंडोज़ फोन 8.1; एंड्रॉइड 4.0; एआरएम; ट्राइडेंट / 7.0; टच; आरवी: 11.0; IEMobile / 11.0; नोकिया; लूमिया 930) जैसे आईफोन ओएस 7_0_3 मैक ओएस एक्स ऐप्पल रीबिट / 537 (केएचसी, गेको की तरह) मोबाइल सफारी / 537
रेग्युलर एक्सप्रेशंस का उपयोग किए बिना आसानी से अधिक डिवाइस जोड़ें:
function iOS() {
var iDevices = [
'iPad Simulator',
'iPhone Simulator',
'iPod Simulator',
'iPad',
'iPhone',
'iPod'
];
if (navigator.platform) {
while (iDevices.length) {
if (navigator.platform === iDevices.pop()){ return true; }
}
}
return false;
}
iOS()trueया तो होगाfalse
नोट: दोनों navigator.userAgentऔर navigator.platformउपयोगकर्ता किसी ब्राउज़र विस्तार के द्वारा नाटक किया जा सकता है।
आईओएस संस्करण का पता लगाना
IOS संस्करण का पता लगाने का सबसे आम तरीका उपयोगकर्ता एजेंट स्ट्रिंग से इसे पार्स करके है । लेकिन इसमें फीचर डिटेक्शन इंट्रेंस * भी है ;
हम एक तथ्य यह है कि के लिए पता है history APIमें पेश किया गया था iOS4 - matchMedia APIमें iOS5 - webAudio APIमें iOS6 - WebSpeech APIमें iOS7 और इतने पर ..
नोट: निम्न कोड विश्वसनीय नहीं है और यह टूट जाएगा यदि इनमें से कोई भी HTML5 सुविधाएँ नए iOS संस्करण में हटा दी जाती हैं। आपको चेतावनी दी गई है!
function iOSversion() {
if (/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream) {
if (window.indexedDB) { return 'iOS 8 and up'; }
if (window.SpeechSynthesisUtterance) { return 'iOS 7'; }
if (window.webkitAudioContext) { return 'iOS 6'; }
if (window.matchMedia) { return 'iOS 5'; }
if (window.history && 'pushState' in window.history) { return 'iOS 4'; }
return 'iOS 3 or earlier';
}
return 'Not an iOS device';
}