0

初めてロードしたときに長い初期化シーケンスを持つ webapp があります。基本的に、HTML5 localstorage API を使用して、外部 API を呼び出して、完了時にキャッシュするデータのロードを取得します。

問題は、最初の試行で Mobile Safari の初期化を完了できないことです。毎回ほぼ同じ時点で、AJAX 呼び出しが停止します。ページを更新すると、初期化が最初からやり直されますが、今回はうまくいきます。

ブラウザーのキャッシュをクリアして、このプロセスを最初からやり直しても、常に同じです。最初の試行で失敗し、その後の更新で成功します。

Mobile Safari には、ユーザー入力に直接応答しない限り (HTML5 オーディオ タグが「自動再生」できないなど)、データの大量消費を防ぐための特定の障壁があることを認識しています。

すぐに大量のデータを消費する Web ページを初めてロードするために、同様のものが用意されているかどうか疑問に思っています。リフレッシュすることで、Mobile Safari はそれをあなたの明示的な許可と見なします。

誰でも知っていますか?

4

1 に答える 1

-1

シンプルで高速なベース html ファイルから始めることをお勧めします。これにより、単純な「読み込み中...」であっても、ユーザーがすぐに何かを確認できるようになります。

次に、ajax を使用してwindow.onload、たとえば、「データの負荷」を取得します。理想的には、サイトが実際に機能していることを知るための待ち時間や進行状況インジケーターに気付かないように、ユーザーが読んだり操作したりできるものを提供します。

人々はせっかちで、空白の画面とブラウザーの読み込みインジケーターが進行していないことに直面すると、サイトが数秒以内に壊れると思い込みます。

データの大量消費を防ぐための特定の障壁は、おそらくまさにこの理由で、ユーザー エクスペリエンスを向上させ、巨大な Web ページを防ぐために存在します。

于 2012-09-07T02:38:24.900 に答える