web-dev-qa-db-ja.com

iOSサファリのクラッシュ(問題が繰り返し発生します)

私はWebサイトを開発していますが、最近、iPhone Xでテストしているときに問題が発生しました-サイトが読み込まれません。

Safariはそれをロードしようとし、「このWebページは問題が発生したために再ロードされました」というエラーを報告し、数回試行した後、あきらめて「問題が繰り返し発生しました」と報告します。 Chromeもサイトをロードしません。

現時点ではウェブサイトを公開することはできませんが、chromeデスクトップコンソールでエラーは報告されていません。実際、ウェブサイトはデスクトップ、ラップトップ、古いiPhone 6と5s、私の友人のSamsung Android、および私がテストした他の15種類のランダムなコンピューターと電話。xCodeシミュレーターでも問題なく読み込まれますが、私のiPhone Xでは動作しません。

SOおよび一般的にインターネット全体での私の調査は、このエラーは通常、過度のメモリ使用が原因であると信じていますが、デスクトップChromeはメモリ使用のピークを報告します20mbのみ。また、このサイトは私の劣ったiPhone 5sでも問題なくロードされます。

IPhone Xのサファリとchromeキャッシュをクリアし、Cookieのブロックのオン/オフを切り替え、ネットワーク設定をリセットして、電話を再起動しました。

私の心配は、私のiPhone Xがサイトをロードしない場合、私がテストした20個のその他のデバイスが問題なく動作しても、他のユーザーに問題が発生することです。

ここで何が起こっているのか誰か誰か知っていますか?

4
nickc

これを実際にメモリの問題であると想定し、(ウィンドウのスクロールイベントを使用して)ビューポートに表示されない要素にdisplay:noneを設定することで、これを「解決」しました。

https://medium.com/talk-like/detecting-if-an-element-is-in-the-viewport-jquery-a6a4405a3ea2

これにより、iPhone Xのサファリでのクラッシュが修正されました。ただし、Webアプリが20MB未満のメモリを消費するときに、強力なデバイスで最初にこれが発生した理由は説明されていません。 。

1
nickc

「high-performance」モードでwebglコンテキストにアクセスしようとすると、同じエラーメッセージがSafariに表示されました(three.jsシーンのレンダラーで powerPreference 属性を使用)。

高性能モードを削除すると、私のWebページを読み込むことができました。

0
duhaime