Website wird wiederholt neu geladen und stürzt dann auf iPhone 4 ab: iOS 8.0.2 und iOS 8.1.2

9

Ein Beispiel dafür, was beim Laden der Website passiert, ist hier für theverge.com zu sehen. Solche Probleme treten in den neuesten Browser- und Betriebssystemversionen nicht auf:

  • Windows 8.1 - Chrome, Firefox, Opera, IE.
  • OSX Yosemite - Chrome, Safari.
  • Android 4.4 - Chrome, Firefox, Opera, Safari.
  • iOS 7.1.2 (iPad) - Safari.
  • iOS 8.3 (iPhone 5) - Safari.

Auf zwei separaten iPhone 4S-Geräten (iOS 8.0.2 und iOS 8.1.2) aktualisiert Safari die Seite jedoch jedes Mal neu, wenn "das Problem mit dieser Webseite aufgetreten ist, so dass es neu geladen wurde" bis zum endgültigen Absturz und "Es ist wiederholt ein Problem bei [URL der Website] aufgetreten". Ich habe sichergestellt, dass meine JavaScript / jQuery syntaktisch korrekt sind (ebenso wie das Laden der Webseite mit deaktiviertem JavaScript in Safari-Einstellungen - selbes Problem), gelöschter Cache, Neustart der iPhones und mir nicht vorstellen kann, was sonst das Problem verursachen könnte. Die Webseite ist nur klein mit einer Gesamtdateigröße von ungefähr 300kb und nur einiger recht einfacher DOM-Manipulation.

Nach dem, was ich über meine eigenen Tests und das, was ich gelesen habe, weiß, ist das Problem isoliert zu iOS 8.0.2 und 8.1.2, aber natürlich ist meine Website in der Minderheit der Websites, die auf dem Betriebssystem abstürzen und ich würde zu wissen, was es genau ist, verursacht das Problem.

Danke.

BEARBEITEN: Eines der iPhones auf iOS 8.3 aktualisiert - das Problem besteht immer noch. Zu diesem Zeitpunkt absolut ratlos und alle Vorschläge würden sehr geschätzt werden.

    
Jack Ducasse 10.04.2015, 02:03
quelle

5 Antworten

8

Kurze Antwort :

Überprüfen Sie Ihr gesamtes CSS auf Animations-Keyframes und entfernen Sie alle font-size -Animationen innerhalb dieser Blöcke.

Lange Antwort

Das Fehlen jeglicher entwicklerzentrierter Konversationen bezüglich "Ein Problem, das wiederholt bei ... aufgetreten ist" ist definitiv enttäuschend. Nach einer Stunde Googeln heute Nacht bin ich hier auf deinen Posten gestolpert und musste einen Doppelklick machen, als ich den Zeitstempel sah. // High five fellow trouble-shooter.

Wie es der Zufall wollte, war ich in der Lage, eine potentielle Quelle für diesen iOS / Webkit-Fehler innerhalb meines CSS aufzuspüren. Insbesondere scheint es damit zu tun zu haben, wie Safari mit font-size Animationen innerhalb von CSS keyframes umgeht. Ich hatte so etwas in meiner SASS:

%Vor%

Als ich den ganzen Block entfernt habe, hat er angefangen zu arbeiten.

Als ich weiter ging und CSS-Eigenschaften einzeln entfernte, schien der Absturz in der font-size -Animation isoliert zu sein. Es scheint jedoch, dass nicht mit @font-face web-Schriftarten verknüpft ist oder wenn Sie die Größe mit verschiedenen Einheiten (em / px / pt) angeben. Alle getesteten Bedingungen verursachten den gleichen Absturz. Das einzige, was es behoben hat, war das Entfernen von Änderungen in der Schriftgröße innerhalb meiner Schlüsselbildblöcke, a la:

%Vor%

Es ist möglich (und vielleicht wahrscheinlich), dass andere animierte Eigenschaften den Absturz auslösen können, aber diese Korrektur hat definitiv für mich funktioniert und ich hoffe, dass es auch für Sie funktioniert.

PS: Ich habe das sowohl auf iOS 8.1.2 als auch auf 8.3 (iPads) getestet.

    
Evan Tishuk 10.04.2015 03:42
quelle
6

Inspiriert von @Evan Tishuks Antwort durchforstete ich mein CSS, fand aber heraus, dass ich im Gegensatz zu ihm keine Keyframe-Animationen in Schriftgröße hatte. Nach dem Eliminierungsprozess begann ich, Code-Blöcke zu löschen, beginnend mit denen mit Hersteller-Präfixen, und stellte fest, dass dies der Code war, der das Problem verursachte:

%Vor%

Sehr albern von mir. Der Unschärfe-Filter wurde nicht einmal auf meiner Seite benötigt, nur ein Code, mit dem ich herumspielte und vergessen hatte, ihn zu entfernen.

    
Jack Ducasse 11.04.2015 02:40
quelle
3

Zusätzlich zu den anderen Antworten, die alle darauf verweisen, dass CSS die Ursache ist, kann ich berichten, dass komplexe JavaScript-Manipulation von JSON-Datenobjekten ebenfalls diesen Fehler verursachen kann. Insbesondere das Laden eines großen vorberechneten Suchindexes (eine ~ 1 MB oder größere JSON-Datei) in eine Seite zur Verwendung mit lunr.js zeigt den obigen Fehler.

Ich dachte, es könnte wegen der serverseitigen Komprimierung sein (die 1MB JSON-Daten wurden komprimiert in etwa 200kB übertragen), aber der Fehler blieb nach dem Deaktivieren der Komprimierung bestehen, so dass ich annehmen kann, dass das Problem bei der syntaktischen Analyse der JSON-Daten intern auftritt .

Interessanterweise kann ich die Rohsuchdaten aus einer JSON-Datei laden (Größe vergleichbar mit den Indexdaten, die den Absturz verursachen) und den Lunr-Suchindex im Browser erstellen - den vorberechneten Suchindex kann ich einfach nicht von einem JSON laden Datei.

    
Tian van Heerden 21.10.2015 11:15
quelle
2

Nach Evan und Jacks Antworten ist dies höchstwahrscheinlich CSS-bezogen. Welche Stile genau? Das kann variieren.

Ich hatte das gleiche Problem: Safari auf iPhone4 und iPhone6 ​​hat die Seite neu geladen, bis sie abgestürzt ist. Auf iPad2, iPad Air, iPhone5 und jedem simulierten Gerät im IOS-Simulator (einschließlich simuliertem iPhone4 und iPhone6) war die Website in Ordnung.

Das CSS (OK, WENIGER), das die Seite durchbrach:

%Vor%

Sobald ich diese verschachtelte Transfrom Safari entfernt hat gestoppt Frekin 'out und alles war gut in der Welt.

    
RJM 19.06.2015 21:54
quelle
0

Ich hatte das gleiche Problem bei der Verwendung einer ASP.Net-Site. Stellt sich heraus, dass der ViewState zu groß war. Einige ViewState-Variablen nach asp verschieben: HiddenField-Werte haben das Problem für mich gelöst.

    
Chris Stillwell 25.09.2017 17:17
quelle