2010-01-27 16 views
28

क्षमा करें, मैं बस इसे स्वयं जांचता हूं, लेकिन मैं वर्तमान में अपने मैक के बिना हूं। क्या UIWebView के अंदर एक वेब अनुरोध एक ही उपयोगकर्ता-एजेंट जानकारी भेजता है जो मोबाइल सफारी से बना एक वेब अनुरोध होगा?क्या UIWebView अनुरोध हेडर में मोबाइल सफारी के समान उपयोगकर्ता-एजेंट भेजता है?

उत्तर

31

UIWebView से किए गए वेब अनुरोधों में उपयोगकर्ता एजेंट स्ट्रिंग में "सफारी" शब्द शामिल नहीं होगा। मोबाइल सफारी से किए गए वेब अनुरोध करेंगे। ऐप के भीतर या मोबाइल सफारी से अनुरोध का निर्धारण करने के लिए मुझे यह सबसे अच्छा तरीका मिल गया है। UIWebView से

नमूना उपयोगकर्ता एजेंट अनुप्रयोग के भीतर: मोबाइल सफारी से

User-Agent: Mozilla/5.0 (iPad; U; CPU OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile 

नमूना उपयोगकर्ता एजेंट:

User-Agent: Mozilla/5.0 (iPad; U; CPU OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari 
+2

एंड्रॉइड का वेबव्यू http शीर्षलेख "एक्स-अनुरोधित-साथ" भेजता है। अकेले स्टैंड ब्राउज़र नहीं है। क्या आईफोन का UIWebView भी ऐसा करता है? http://stackoverflow.com/a/15254092/90236 –

+0

दुर्भाग्य से यह उत्तर क्रोम आईओएस के साथ विफल रहता है। ये सफारी और क्रोम के लिए UAs हैं। दोनों में "सफारी" --- 'मोज़िला/5.0 (आईफोन; सीपीयू आईफोन ओएस 7_1_1 मैक ओएस एक्स की तरह) ऐप्पलवेबकिट/537.51.2 (केएचटीएम, जैसे गेको) संस्करण/7.0 मोबाइल/11 डी201 सफारी/9537.53' --- 'मोज़िला/5.0 (आईफोन; सीपीयू आईफोन ओएस 7_1_1 मैक ओएस एक्स की तरह) ऐप्पलवेबकिट/537.51.1 (केएचटीएम, जैसे गेको) क्रियो/35.0.1916.38 मोबाइल/11 डी201 सफारी/9537.53' –

+1

@ bfred.it मैं नहीं करता अपनी टिप्पणी समझो। इस प्रश्न का एक-दूसरे से अलग-अलग मोबाइल ब्राउज़र को अलग करने के साथ कुछ लेना देना नहीं था। केवल अंतर्निहित ब्राउज़र से एम्बेडेड UIWebView को अलग करने से। – Johann

11

स्टैंडअलोन मोबाइल सफारी उपयोगकर्ता एजेंट स्ट्रिंग, शब्द 'संस्करण' शामिल जबकि UIWebView उपयोगकर्ता एजेंट तार नहीं है। इसलिए, आईओएस के नवीनतम संस्करण के साथ काम करने के लिए पहचान स्क्रिप्ट को संशोधित किया जा सकता है:

var is_uiwebview = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Version)/i.test(navigator.userAgent); 
+0

इसके लिए एक रेगेक्स लिखने के लिए धन्यवाद! – aendrew

+0

'var is_uiwebview =/((आईफोन | आईपॉड | आईपैड)। * ऐप्पलवेबकिट (?! * संस्करण) |; wv) /i.test (navigator.userAgent); 'एंड्रॉइड वेबव्यू का भी पता लगाता है – buggedcom

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