1

画像がキャッシュにあるかどうかを知るには、Firefox で mozIsLocallyAvailable() を使用できます。クロムやIEからそのようなことはありません。

他の方法を知っていますか?

「304 not modified」をAjaxでチェックしてみましたが、Ajaxは独自のキャッシュシステムを持っているようです。(ブラウザを閉じるたびに ajax キャッシュが削除されます)

私の目標は、訪問者がいつキャッシュを消去したかを検出して、「バックグラウンド プリロード」システムを再起動できるようにすることです (画像が多いゲーム用です)。AppCache について少し聞いたことがありますが、最大 40 MB の画像を保存できるかどうか、ページの読み込みが完了したらダウンロードできるかどうかを知るには十分ではありません。

よろしく。

4

2 に答える 2

1

あなたが最終目標として述べたことを考えると、バックグラウンドの(プリ)ロードプロセスを常に発生させ、(たとえば)250ミリ秒または500ミリ秒以内に完了しない場合は、メッセージを表示することだと思いますユーザーに何が起こっているか。40MB の画像がすべて非常に短い時間内に読み込まれる場合、それらがキャッシュからのものであることはほぼ確実です。:-) 逆に、読み込みに 500 ミリ秒 (0.5 秒) 以上かかる場合、それがダウンロード中なのか、何らかの理由でユーザーのキャッシュが非常に遅いためなのか、気にする必要はありません。何が起こっているかを彼らに伝えるために。

于 2013-04-10T17:14:37.090 に答える
0

私の目標は、訪問者がいつキャッシュを消去したかを検出して、「バックグラウンド プリロード」システムを再起動できるようにすることです。

すべてのセッションで画像をプリロードできます。ブラウザのキャッシュにそれらがある場合、それらは再度読み込まれません。必ず正しいヘッダーを送信してください。

于 2013-04-10T17:14:53.030 に答える