Die Website zeigt JavaScript-Fehler auf dem iPad / iPhone unter 3G aber nicht unter WiFi
Anschluss an http://www.manage-us.com auf einem iPad unter 3G [verwendet] Ergebnis in einem JavaScript-Fehler, die gesehen werden können, wenn die Entwickler-Konsole aktiviert wurde. Wenn die gleiche Seite aufgerufen wird mit dem gleichen iPad unter WLAN-Verbindung wird kein Fehler angezeigt. [Der Fehler ist jetzt Weg, weil ich habe das Update unten!].
Warum ist das so?
Habe ich versucht, die Simulation zu geringe Bandbreite (mit dummynet) auf Safari auf dem Mac und auf dem iPad-simulator auf dem Mac. Dies hat das problem nicht reproduzieren.
Ich bin derzeit zu Ahnen, das ist ein problem, eingeführt von meinem Mobilfunkbetreiber in Großbritannien (O2), die bekannt ist zu ändern Sie einige Inhalte über einen proxy-cache wie Downgrade image-Dateien. Wenn Sie bestätigen können, dass Sie nicht erleben, dieses problem bei der Verbindung von 3G auf dem iPad oder iPhone über einen anderen Mobilfunkbetreiber, wäre hilfreich.
InformationsquelleAutor der Frage sroebuck | 2010-07-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich recherchiert weiter und entdeckt, dass das problem ist, dass die britische Mobilfunkbetreiber O2 (original exklusive iPhone-operator für Apple), ändert die web-Inhalte vor dem senden an iPhones und iPads. Wahrscheinlich, bevor Sie ihn an jedem Gerät mit einem mobilen browser.
Sie nicht-deterministisch inline-einige CSS-und JavaScript-Code in die Haupt-Quellcode-Dateien der web-Seiten. Dies kann Fehler verursachen können, entweder weil der Fehler in Ihrem Algorithmus oder die Folge von white space stripping von Quelldateien mit der syntaktischen Fehler in den source-Dateien, die sonst gutartige.
Diese änderungen auch Streifen copyright Nachrichten aus urheberrechtlich geschützten javascript-Bibliotheken und css-Bibliotheken und spielen Verwüstung mit der Lieferung Optimierungen.
Zum Beispiel vorstellen, wenn ein Benutzer den Besuch einer Abfolge von Seiten auf Ihrer Website, die alle link zu jQuery-Bibliotheken. Anstatt lassen Sie Ihre Handy-browser lokal Zwischenspeichern, die Bibliothek, O2-inline-Bibliothek auf jeder Seite, zwingen Sie Ihr Telefon, um das laden der gesamten Bibliothek immer und immer wieder für jede Seite.
Ich geschrieben habe, einen blog über das Thema hier in der Hoffnung, dass die Zeichnung ein bisschen mehr Aufmerksamkeit zu diesem: http://stuartroebuck.blogspot.com/2010/07/mobile-proxy-cache-content-modification.html
Mein workaround ist die Verwendung
document.write()
zum einfügen der JavaScript-Bibliothek-Abhängigkeiten beim laden und verhindern, dass O2 von inlining. Das scheint ganz gut zu funktionieren. z.B.:Beachten Sie, dass, wie immer
document.write
wird nicht funktionieren, wenn die Seite diente als XHTML.InformationsquelleAutor der Antwort sroebuck
Für alle brauchen eine Lösung, um diese in ASP.NET dieser setzt die Cache-Control-header wie pro http://stuartroebuck.blogspot.com/2010/08/official-way-to-bypassing-data.html für javascript-Dateien mit URL-Rewrite-Modul 2.0 http://learn.iis.net/page.aspx/665/url-rewrite-module-20-configuration-reference.
Alternativ kann getan werden, mit einem HttpModule
und
InformationsquelleAutor der Antwort Tom