2012-11-07 16 views
9

ताकि मैपिंग लिंक नक्शा ऐप को खोलने के लिए खोलें, मैं उपयोगकर्ता के आईओएस 6 या अन्य (आईओएस 4, 5, एंड्रॉइड, जो कुछ भी) पर निर्भर करता हूं, इस पर निर्भर करता हूं कि मैं एक अलग लिंक प्रस्तुत करना चाहता हूं।मैं jquery के साथ विशिष्ट आईओएस संस्करण का पता कैसे लगा सकता हूं?

कुछ की तरह: - अगर आईओएस 6.0 या उच्चतर पर,, http://maps.apple.com?q= "पता" दिखाने के अन्य अगर, http://maps.google.com?q= "पता" दिखा।

नोट: मुझे पता है आप भी सीधे नक्शे एप्लिकेशन कॉल कर सकते हैं के रूप में एक वेब लिंक के माध्यम से करने का विरोध किया (अभी यह काम नहीं है), लेकिन यह समस्या का समाधान नहीं होता है, Android या कम पर किसी के बाद से आईओएस से इसका कोई फायदा नहीं होगा।

+0

हो सकता है कि इस में मदद मिलेगी:

आयात और उपयोग करने के लिए नि: शुल्क के रूप में इन उदाहरणों में दिखाया महसूस http://stackoverflow.com/questions/8348139/detect-ios-version-less-than- 5-साथ-जावास्क्रिप्ट – David

+0

उस लिंक की जानकारी ने पूरी तरह से इसे किया। धन्यवाद! –

उत्तर

16

आप navigator.userAgent स्ट्रिंग का उपयोग iOS संस्करण का पता लगा सकते। कुछ ऐसा:

if(/(iPhone|iPad|iPod)\sOS\s6/.test(navigator.userAgent)) { 
    // use apple maps 
} 

ध्यान दें कि यह भविष्य में सबूत नहीं है, उपयोगकर्ता एजेंट तार बदल सकते हैं, और ओएस भी होगा। इसके अलावा AFAIK, ब्राउज़र के माध्यम से Google मानचित्र आईओएस सहित सभी प्लेटफॉर्म पर उपलब्ध हैं।

+0

धन्यवाद डेविड। ऊपर पोस्ट किया गया लिंक इस से कम सुरुचिपूर्ण है, लेकिन ऐसा लगता है कि यह भविष्य का सबूत होगा, इसलिए मैं उसके साथ गया। धन्यवाद! –

2

आप उपयोगकर्ता-एजेंट स्ट्रिंग में देखना चाहते हैं। सफारी वेब ब्राउज़र में यह रिपोर्ट करने का एक तरीका है कि कौन सा डिवाइस (आईपैड, आईफोन, इत्यादि) का उपयोग किया जा रहा है और संस्करण संख्या भी है, इसलिए यह कॉम्पैक्ट छोटी स्ट्रिंग में जानकारी के सूचकांक का मामला है।

http://developer.apple.com/library/IOS/#documentation/AppleApplications/Reference/SafariWebContent/OptimizingforSafarioniPhone/OptimizingforSafarioniPhone.html#//apple_ref/doc/uid/TP40006517-SW3

कुछ अन्य सहायक/बहुत संबंधित Stackoverflow सवाल:

Detect iOS version less than 5 with JavaScript

Detecting iOS Version on a Web Page

Check if iOS version is 3.0 or higher with PHP or Javascript

1

उपयोगकर्ता एजेंट शीर्षलेख देखने के लिए जावास्क्रिप्ट का उपयोग करें।

navigator.userAgent 
4

आईओएस और एंड्रॉइड ओएस संस्करण निर्धारित करने के लिए यहां कुछ जेएस है। कोई jQuery आवश्यक है।

6.0.1 के लिए आईओएस 4.3 के लिए वास्तविक उपयोगकर्ता एजेंट स्ट्रिंग के साथ परीक्षण किया गया, और एंड्रॉयड 2.3.4 4,2

var userOS; // will either be iOS, Android or unknown 
var userOSver; // this is a string, use Number(userOSver) to convert 

function getOS() 
{ 
    var ua = navigator.userAgent; 
    var uaindex; 

    // determine OS 
    if (ua.match(/iPad/i) || ua.match(/iPod/i) || ua.match(/iPhone/i)) 
    { 
    userOS = 'iOS'; 
    uaindex = ua.indexOf('OS '); 
    } 
    else if (ua.match(/Android/i)) 
    { 
    userOS = 'Android'; 
    uaindex = ua.indexOf('Android '); 
    } 
    else 
    { 
    userOS = 'unknown'; 
    } 

    // determine version 
    if (userOS === 'iOS' && uaindex > -1) 
    { 
    userOSver = ua.substr(uaindex + 3, 3).replace('_', '.'); 
    } 
    else if (userOS === 'Android' && uaindex > -1) 
    { 
    userOSver = ua.substr(uaindex + 8, 3); 
    } 
    else 
    { 
    userOSver = 'unknown'; 
    } 
} 
फिर

किसी विशेष संस्करण का पता लगाने और अधिक करने के लिए, कोशिश:

if (userOS === 'iOS' && Number(userOSver.charAt(0)) >= 5) { ... } 
0

उपयोगकर्ता एजेंट स्ट्रिंग का उपयोग करना सही दृष्टिकोण है। यदि आप ओएस संस्करण प्राप्त करने में रुचि रखते हैं चाहे वह आईओएस, एंड्रॉइड, या यहां तक ​​कि विंडोज/मैक/ब्लैकबेरी है, तो मैंने यह detect-os-version घटक लिखा है, जो वास्तव में ऐसा करता है। यह विभिन्न संस्करण उपयोगकर्ता एजेंटों को भी मानता है।

detectOsVersion.get() => {os: 'iOS', version: '5.1.1'} 
detectOsVersion.get() => {os: 'BlackBerry', version: '7.1.0.346'}  
detectOsVersion.get() => {os: 'Windows', version: '8.1'} 
detectOsVersion.get() => {os: 'Android', version: '4.2.2'} 
detectOsVersion.get() => {os: 'Mac', version: '10.7.1'} 
संबंधित मुद्दे