1

window.applicationCache.update()を使用して直接更新を呼び出す方法があるとすると、ページが読み込まれたときにブラウザーによって自動的に実行される更新を省略する方法はありますか?

私はGoogleChromeでオフラインモードを試してきましたが、これまでのところ、1)マニフェストファイルが指定されている場合はロードされ、JavaScriptで停止することはできません。2)マニフェストファイルが変更された場合、キャッシュ全体が更新され、それを停止するために私にできることは何もありません。

私の経験では、window.applicationCache.abort()は、いつ呼び出しても効果がありません。javascriptの最初の行、およびイベントのチェックとダウンロードで呼び出してみましたが、常にすべてがダウンロードされます。ファイルが小さく、非常に高速にロードされるため、タイミングと関係がある可能性があります。

4

2 に答える 2

1

checkingイベントをリッスンしてキャンセルします。この方法は、アプリケーション キャッシュのダウンロード プロセスabort()のステップ 17 までは問題になりません。この方法でプロセスを停止することはできないと思います。

于 2012-07-26T23:11:57.207 に答える
0

これは執筆時点での Chrome のバグです: https://code.google.com/p/chromium/issues/detail?id=175063 (投票してください)

iOS Safariでこれを試しました:

window.applicationCache.addEventListener('checking', function(event) {
   window.applicationCache.abort();
}, false);

できます。Safari デバッガー コンソールで:

アプリケーション キャッシュのダウンロード プロセスが中止されました。

Chrome は同じコードを無視します。

于 2013-09-26T10:51:33.197 に答える