आईओएस 8 में इमेज-स्वैपिंग इश्यू को कैसे ठीक रखें + जिंदा + HTTP पाइप-लाइनिंग के साथ?


9

IOS8 के बाद से, जिन साइटों को मैंने प्रबंधित किया है वे एक आंतरायिक समस्या का सामना कर रहे हैं जिसमें छवियां अन्य छवियों के साथ स्थानों को स्वैप कर रही हैं। यह कई स्थानों पर उल्लेख किया गया है, लेकिन कोई स्पष्ट समाधान नहीं है:

https://discussions.apple.com/thread/6574663

http://tech.vg.no/2011/12/14/safari-on-ios-5-randomly-switches-images/

http://tech.vg.no/2012/02/01/safari-on-ios-5-randomly-switches-images-part-3/

यह कहता है कि यह अतीत में iOS5 में एक समस्या थी। हमारा सर्वर पाइप-लाइनिंग और कीप-लाइव के साथ लाइटस्पीड चला रहा है। मेरे सर्वर व्यवस्थापक ने पुष्टि की है कि पाइप-लाइनिंग उस क्रम में संपत्ति लौटा रही है जो उनसे अनुरोध किया गया था। उन्होंने कहा कि जिंदा रखने से समस्या का समाधान हो सकता है, लेकिन बड़े पैमाने पर सर्वर लोड बढ़ जाएगा, जो वास्तव में बुरी बात होगी।

मेरी सभी संपत्तियाँ कंटेंट-लेंथ को सही ढंग से पार कर रही हैं।

मैं वास्तव में इस के समाधान के लिए एक मृत-अंत में हूं। IOS का उपयोग करने वाले मेरे कई उपयोगकर्ताओं के साथ, इसकी शुरुआत सभी के लिए बेहद निराशाजनक है।

यह केवल iOS8 की शुरूआत के साथ ही शुरू हुआ था जिसमें सफारी के लिए कुछ बहुत भारी बदलाव हैं। 8 के हर रिलीज में, समस्या अभी भी है। जैसा कि मैंने कहा, यह रुक-रुक कर चल रहा है और हमारे उपयोगकर्ता हमें दोष देने लगे हैं क्योंकि 'किसी अन्य साइट की समस्या नहीं है'।

मुझे आश्चर्य था कि क्या कोई इस पर कुछ प्रकाश डाल सकता है? क्या किसी और ने इस समस्या का अनुभव किया है और / या इसका हल ढूंढ लिया है?

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


ServerFault David में आपका स्वागत है, क्या आप इस समस्या को वेबसाइट के HTML में कम कर सकते हैं? या यह विशेष रूप से एक सफारी मुद्दा है? मेरे पास परीक्षण करने के लिए एक iPhone नहीं है, लेकिन शायद आप यह संकेत दे सकते हैं कि कौन सी छवियां व्यापारिक स्थान हैं, इसलिए यहां कोई व्यक्ति जो एक Droid (मजाक) का मालिक नहीं है, इस मुद्दे को पुन: उत्पन्न कर सकता है? इसके अलावा, फोन पर एक अलग ब्राउज़र स्थापित करने का प्रयास करें और देखें कि क्या यह एक सफ़ारी समस्या या iOS समस्या है।
एमडीमोइरे 313

2
@BigHomie यह iOS8 पर सफारी के लिए विशिष्ट है। यह Google Chrome पर नहीं लगता है। और समस्या किसी अन्य प्लेटफ़ॉर्म पर नहीं होती है।
डेविड

नमस्ते ! वास्तविक समस्या पर ध्यान केंद्रित करने में आपकी मदद करने के लिए मेरे पास कई प्रश्न हैं। क्या सफारी ओएस एक्स पर समस्या है? क्या सफारी आईओएस में एक सिम्युलेटर में समस्या है? क्या आपने यह जांचने के लिए सफारी इंस्पेक्टर लिंक खोलने की कोशिश की है कि क्या इमेज के लिंक सही हैं या अगर यह सफारी की कैश समस्या है? इन सवालों को हमें समस्या की जड़ तक ले जाना चाहिए।
डेडेई

@DeadEye मुझे पूरा यकीन है कि समस्या केवल iOS 8 में होती है। मैं अनिश्चित हूँ अगर यह एक सिम्युलेटर में होता है और वेब निरीक्षक कुछ भी असामान्य नहीं दिखाता है। वास्तव में, चित्र गलत छवि के बावजूद सही फ़ाइल नाम के साथ वापस आते हैं। मेरी सबसे बड़ी समस्या यह है कि ऐप्पल को रडार रिपोर्ट को बिना कारण के बंद कर दिया गया था और ओपनरार को चर्चा मंचों पर सभी जानकारी के बावजूद इस पर कुछ भी गतिविधि नहीं मिली है।
डेविड

यदि आप सफारी आईओएस के माध्यम से सीधे स्वैप की गई छवि की छवि पथ पर जाने की कोशिश करते हैं, तो क्या यह सही छवि है?
डेडेई

जवाबों:


2

हमारे पास यह समस्या भी थी और हमारे लिए समाधान यह था कि हम अपने HTML में सभी टैग हटा दें और इसके बजाय पृष्ठभूमि संपत्ति के साथ सीएसएस कक्षाओं का उपयोग करें। यहाँ एक उदाहरण है:

.img_logo {
  background: url(../images/logo.png?v=20150427) no-repeat;
  width: 175px;
  height: 49px;
  display: block;
}

अजीब लगता है, मुझे पता है, लेकिन यह एकमात्र तरीका था जिसने हमारे लिए समस्या को हल किया। एक दोष यह है कि हमें छवियों के लिए "alt" हटाना था लेकिन मुझे लगता है कि यदि आवश्यक हो तो आप कुछ जावास्क्रिप्ट के साथ इसे हल कर सकते हैं।

उम्मीद है की यह मदद करेगा!


2

मैं इस मुद्दे पर एक नई वेबसाइट पर काम कर रहा था जिसे हमने अभी लॉन्च किया था। एफएफ / ओपेरा / क्रोम, आदि में सब कुछ अच्छा लग रहा था, लेकिन मेरे पास iOS8 + में मुख्य छवि स्वैपिंग मुद्दे थे। मैंने देखा कि इस समस्या को रिपोर्ट करने वाली बहुत सारी साइटें Litespeed वेबसर्वर चलाती हैं। मैं परीक्षण करने के लिए एक पल के लिए अपाचे में बदल गया, और निश्चित रूप से पर्याप्त, वेबसाइट ने ठीक लोड किया। मेरा होस्ट (wiredtree.com, उत्कृष्ट सेवा) और मैंने Litespeed में कुछ कॉन्फ़िगरेशन विकल्पों को देखा, और इन दो विकल्पों को निष्क्रिय कर दिया:

  • दबाव शुरू कर दो
  • डायनेमिक संपीड़न सक्षम करें

उन दोनों को अक्षम करने के बाद, वेबसाइटों ने बिना किसी समस्या के ठीक लोड किया। इसने बहुत मामूली प्रदर्शन किया, लेकिन निश्चित रूप से इसके लायक था।

सबसे पहले, हमने HTTP पाइपलाइनिंग को प्रभावी रूप से अक्षम करने के लिए कीप-लाइव को अक्षम करने का प्रयास किया, लेकिन इसने समस्या को हल नहीं किया। उपरोक्त केवल एक चीज है जो मैंने देखी है कि एक वास्तविक समाधान पेश किया है।

उम्मीद है कि यह वही मुद्दों से निपटने में किसी की मदद कर सकता है!


1

उत्तर नहीं, लेकिन समस्या को हल करने के लिए एक दृष्टिकोण:

  1. इन-उत्पादन वेब सर्वर का उपयोग करके ऐप के विकास संस्करण का उपयोग करके अपने दम पर समस्या को पुन: उत्पन्न करें। बस यह सुनिश्चित करें कि आप इसे कवर करते हैं।
  2. वेबसर्वर पर एक नया होस्टनाम / CNAME प्रविष्टि और संबंधित वर्चुअल होस्ट बनाएं, या यदि चरण 3 के लिए आवश्यक है, तो एक अलग पोर्ट पर एक अलग HTTP सर्वर। इसे "परीक्षण HTTP सर्वर" के रूप में जाना जाता है
  3. अपने परीक्षण / विकास संस्करण को इस नए HTTP सर्वर पर इंगित करें और समस्या को पुन: उत्पन्न करें। जब तक आप ऐसा नहीं कर सकते, तब तक चरण 4 पर न जाएं!
  4. अब इस परीक्षण HTTP सर्वर पर, या तो पुनर्निर्देशन या बुद्धिमान कॉन्फ़िगरेशन (Apache के साथ संभव के रूप में) के माध्यम से, रखवाले, संपीड़न, https, कैशिंग, पाइपलाइनिंग और कुछ और जो आप सोच सकते हैं, को अक्षम करें। समस्या को पुन: उत्पन्न करें और ऐसा करने वाले सभी कॉन्फ़िगरेशन टुपल्स पर ध्यान दें और जो ऐसा नहीं करते हैं।
  5. Apahce के साथ स्वैप Litespeed सर्वर। फिर, एक अच्छे सिसादमिन के लिए बहुत तुच्छ होना चाहिए। ( अहम )। समस्या का पुन: परिचय।

यदि आप चरण 5 के माध्यम से सभी तरह से समस्या को पुन: उत्पन्न कर सकते हैं, और कॉन्फ़िगरेशन परिवर्तन या सर्वर सॉफ़्टवेयर परिवर्तन का कोई सेट अंतर नहीं करता है, तो समस्या आईओएस है और शायद आप कुछ भी नहीं कर सकते। (लेकिन यह संभावना नहीं है।)

यदि फिर भी, कॉन्फ़िगरेशन परिवर्तन का एक सेट है जो Litespeed (यानी, Apache के साथ भी होता है) पर निर्भर नहीं है , तो हम एक काम कर सकते हैं-आसपास: BrowserMatchब्राउज़रों के विशेष (सेट) का पता लगाने के लिए निर्देशों का उपयोग करें ; इस सेट के लिए कॉन्फ़िगरेशन पैरामीटर सेट करें BrowserMatch सेट। आपको इस तरह की चीज़ों के उदाहरण मिलेंगे जैसे कि IE 3.0 और नेटस्केप ब्राउज़र।

यदि समस्या Litespeed हो जाती है, तो उपरोक्त दृष्टिकोण का उपयोग करें और Litespeed समर्थन के साथ बग दर्ज करें। आप समर्थन के लिए भुगतान कर रहे हैं, क्या आप नहीं हैं?


1

http / 2 प्रोटोकॉल का उपयोग करने से मेरे मामले में समस्या हल हो गई है। लेकिन, यह सुनिश्चित करें कि इस समस्या का वास्तविक समाधान / समाधान हो सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.