Seit iOS8 treten bei den von mir verwalteten Sites zeitweise Probleme auf, bei denen Bilder Standorte mit anderen Bildern austauschen. Dies wurde an mehreren Stellen erwähnt, jedoch ohne offensichtliche Lösung:
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/
Es scheint, dass es in der Vergangenheit ein Problem in iOS5 war. Auf unserem Server läuft Lightspeed mit Pipe-Lining und Keep-Alive. Mein Serveradministrator hat bestätigt, dass Pipe-Lining Assets in der Reihenfolge zurückgibt, in der sie angefordert wurden. Er hat erwähnt, dass das Deaktivieren von Keep-Alive das Problem möglicherweise behebt, aber die Serverlast massiv erhöhen würde, was eine wirklich schlechte Sache wäre.
Alle meine Assets übergeben auch die Länge des Inhalts korrekt.
Ich bin jetzt wirklich in einer Sackgasse, um eine Lösung dafür zu finden. Bei so vielen meiner Benutzer, die iOS verwenden, ist es für alle sehr frustrierend.
Es begann erst mit der Einführung von iOS8, das einige ziemlich starke Änderungen an Safari enthält. In jeder Version von 8 ist das Problem immer noch vorhanden. Wie gesagt, es ist zeitweise und unsere Benutzer geben uns die Schuld, dass "keine andere Website das Problem hat".
Ich habe mich gefragt, ob jemand etwas Licht ins Dunkel bringen kann. Hat jemand anderes dieses Problem erlebt und / oder eine Lösung gefunden?
Hier ist ein Link zu meiner fraglichen Seite.
quelle
Antworten:
Wir hatten auch dieses Problem und die Lösung für uns bestand darin, alle Tags in unserem HTML zu entfernen und stattdessen CSS-Klassen mit Hintergrundeigenschaften zu verwenden. Hier ist ein Beispiel:
Fühlt sich irgendwie unangenehm an, ich weiß, aber nur so konnte das Problem für uns gelöst werden. Ein Nachteil ist, dass wir das "Alt" für die Bilder entfernen mussten, aber ich denke, Sie können das bei Bedarf mit etwas Javascript lösen.
Hoffe das hilft!
quelle
Ich habe dieses Problem auf einer neuen Website behandelt, die wir gerade gestartet haben. In FF / Opera / Chrome usw. sah alles gut aus, aber ich hatte große Probleme beim Austausch von Bildern in iOS8 +. Ich habe festgestellt, dass auf vielen Websites, auf denen dieses Problem gemeldet wird, der Litespeed-Webserver ausgeführt wird. Ich wechselte für einen Moment zu Apache, um zu testen, und sicher wurde die Website einwandfrei geladen. Mein Host (wiredtree.com, exzellenter Service) und ich haben uns einige der Konfigurationsoptionen in Litespeed angesehen und diese beiden Optionen deaktiviert:
Nach dem Deaktivieren dieser beiden wurden die Websites problemlos geladen. Es hat einen sehr geringen Leistungseinbruch gebracht, aber es hat sich definitiv gelohnt.
Zuerst haben wir versucht, Keep-Alive zu deaktivieren, um HTTP-Pipelining effektiv zu deaktivieren, aber das Problem wurde dadurch nicht gelöst. Das Obige ist das einzige, was ich gesehen habe, das eine echte Lösung bietet.
Hoffentlich kann dies jemandem helfen, der sich mit den gleichen Problemen befasst!
quelle
Keine Antwort, sondern ein Ansatz zur Lösung des Problems:
Wenn Sie das Problem bis zum Ende von Schritt 5 reproduzieren können und keine Konfigurationsänderungen oder Änderungen an der Serversoftware den Unterschied ausmachen, liegt das Problem bei iOS und wahrscheinlich bei nichts, was Sie tun können. (Aber das ist unwahrscheinlich.)
Wenn es jedoch eine Reihe von Konfigurationsänderungen gibt, die nicht von Litespeed abhängig sind (dh auch bei Apache auftreten), können wir eine Problemumgehung durchführen: Verwenden Sie die
BrowserMatch
Anweisungen, um die bestimmten (Gruppen von) Browsern zu erkennen. Legen Sie die Konfigurationsparameter für dieses Set fest. BrowserMatch-Set. Beispiele für solche Dinge reichen bis in die Browser IE 3.0 und Netscape zurück.Wenn sich herausstellt, dass das Problem Litespeed ist, verwenden Sie den obigen Ansatz und melden Sie einen Fehler bei der Litespeed-Unterstützung. Sie zahlen für Unterstützung, nicht wahr?
quelle
Die Verwendung des http / 2-Protokolls scheint das Problem in meinem Fall behoben zu haben. Ich bin mir jedoch sicher, dass es tatsächlich eine Lösung für dieses Problem gibt.
quelle