2011-09-14 12 views
25

वास्तव में जैसा कि नाम ..एक jQuery में आईओएस उपयोगकर्ता एजेंट की पहचान करने का सरल तरीका अगर/तो कथन?

वहाँ कुछ जादुई और आसान तरीका है कहने के लिए है:

if (user agent is iOS) { 
     if (browserRatio >=1.5) { 
      $container.css('min-height', '360px'); 
     } else { 
      $container.css('min-height', '555px'); 
     } 
    } 

उत्तर

60

यह मिली है कि प्रश्न करने के लिए, मैं इस पाया।

if (navigator.userAgent.match(/(iPod|iPhone|iPad)/)) { 
    if (browserRatio >=1.5) { 
     $container.css('min-height', '360px'); 
    } else { 
     $container.css('min-height', '555px'); 
    } 
} 
+5

navigator.userAgent.match (/ (आईपॉड | आईफोन | आईपैड)/i) मेरे लिए काम किया जहां आपका नहीं था (मैं इसे असंवेदनशील बनाता हूं) –

+7

इसे और भी कॉम्पैक्ट कर सकता है:/(ip (hone | od | विज्ञापन))/i :) – backdesk

+0

यह एक अंतिम समाधान नहीं है, क्योंकि यह WP IE पर भी मेल खाता है। IE11 से उदाहरण UA: 'मोज़िला/5.0 (मोबाइल; विंडोज फोन 8.1; एंड्रॉइड 4.0; एआरएम; ट्राइडेंट/7.0; टच; आरवी: 11.0; आईमोबाइल/11.0; नोकिया; लुमिया 925) आईफोन ओएस 7_0_3 मैक ओएस एक्स ऐप्पलवेबकिट/537 (केएचटीएम, जैसे गेको) मोबाइल सफारी/537' – seniorpreacher

2

मैं जानता हूँ कि आप विशेष रूप से jQuery के बारे में पूछ रहे हैं, लेकिन IMO, आप लगभग निश्चित रूप से CSS3 @media queries उपयोग करना चाहते हैं इसके लिए। landscape or portrait orientation के परीक्षण के लिए भी समर्थन है।

@media (orientation:landscape) { 
    .container_selector { 
    min-height: 555px; 
    } 
} 
@media (orientation:portrait) { 
    .container_selector { 
    min-height: 360px; 
    } 
} 

आशा है कि इससे मदद मिलती है!

+0

करने के लिए अपने कोड बदलने .. उपयोग + उन्हें प्यार है, लेकिन इस उदाहरण के लिए, यह एक मिनट में लात है -हाइट जो केवल आईओएस के लिए है जब वेब ऐप मोड में नहीं है। तो इसे स्क्रिप्ट होना चाहिए :( – technopeasant

+0

और मैं आईफोन 4 को विशेष रूप से -webkit-min-device-pixel-अनुपात: 2 के साथ लक्षित कर सकता हूं, लेकिन दुर्भाग्य से यदि कोई विशेष लाइब्रेरी – technopeasant

+0

का उपयोग नहीं करता है, तो आप कोई सीएसएस नहीं कर सकते हैं, तो क्या आप इसका उपयोग कर सकते हैं window.screen.height/चौड़ाई गुण, या इससे कोई मदद नहीं होगी? मुझे नहीं पता कि "वेब ऐप मोड में नहीं होने पर" आपका क्या मतलब है। – jimbojw

-1

मेरे पिछले उत्तर की टिप्पणियों के आधार पर, ऐसा लगता है कि असली सवाल यह है कि, "आप एक आईफोन में यूआरएल बार कैसे छिपाते हैं"।

How to Hide the Address Bar in MobileSafari:

<body onload="setTimeout(function() { window.scrollTo(0, 1) }, 100);">...</body> 
+1

पर उचित ऊंचाई डालने के लिए उपयोग करता हूं, तो यह नहीं है। मैं आईओएस उपयोगकर्ता एजेंट को पहचानने के लिए/अगर लागू करना चाहता हूं इसके लिए बयान। आईओएस पर वेब ऐप मोड को स्पष्ट करने के लिए, मैंने एक अच्छा छोटा आरेख बनाया: http://cl.ly/0d2V0o3O453a123v192u – technopeasant

+0

अच्छा मजाक (ओं) और अच्छा विचार jimbojw, भविष्य में उपयोग करेगा। – Brandito

1

आदेश में इस के लिए काम करने के लिए आप browserWidth परिभाषित करने की जरूरत करने जा रहे हैं, लेकिन हाँ यह काम करेंगे। यहां मैंने केवल आईपैड को लक्षित किया है।

$(window).load(function(){ 
     var browserWidth = $(window).width(); 

     if (navigator.userAgent.match(/(iPad)/)) { 
     if (browserWidth == 768) { 
      $('.sectionI').css({'margin-left': '30px'}); 
     } else if (browserWidth == 1024) { 
      $('.sectionI').css({'margin-left': '0px'}); 
     } 
     } 
    }); 
0

वेब ऐप संस्करण के लिए इसे आजमाएं।

if (
    ("standalone" in window.navigator) && 
    !window.navigator.standalone 
    ){ 

    // .... code here .... 
} 
0

इस स्ट्रिंग का मिलान नहीं हुआ न हो यह सुनिश्चित करने के लिए: Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 925) like iPhone OS 7_0_3 Mac OS X AppleWebKit/537 (KHTML, like Gecko) Mobile Safari/537 सिर्फ मैं आप सुन

if (navigator.userAgent.match(/(\(iPod|\(iPhone|\(iPad)/)) { 
    if (browserRatio >=1.5) { 
     $container.css('min-height', '360px'); 
    } else { 
     $container.css('min-height', '555px'); 
    } 
} 

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^