web-dev-qa-db-ja.com

Chromeでウェブアプリをクリアできますか?

私は、必要なすべてのJavaScriptと画像を含むマニフェストを持つWebアプリケーションを作成しました。残念ながら、マニフェストファイルを変更しても、JavaScriptはリロードされないようです。

ChromeからWebアプリケーションを完全に削除する方法はありますか?ブラウザのキャッシュをクリアしても機能しないようです。

MacでChrome 5.0.375.55を実行しています。

助けてくれてとても感謝しています。

52
acuth

?foo=12345のようなgetパラメータを追加すると、ファイルは別のファイルとして扱われるため再キャッシュされますが、既存のファイルのキャッシュはクリアされません。

タイプ:

chrome://appcache-internals/

ラッキーになります:)

160
digitaldonkey

Appleはこれに関して本当に優れたドキュメントをいくつか持っています。始めるのは少し難しいですが、マニフェストプロセス全体をより透過的にします。さらに、Safari(特にMobile Safari)はこれらのイベント応答をFirefoxよりも一貫して表示します。 Chrome=についてはわかりませんが、Safariにかなり近いはずです。

あなたの質問の根本は:

  1. マニフェストを空にするか、ファイルをマニフェストに追加/削除します
  2. アプリをロードする
  3. マニフェストを再度追加する
  4. アプリを再読み込みします。これは汚い方法ですが、時間をかけてJSを読んで実装することをお勧めします。これにより、マニフェストが更新されていることを確認できます。

Googleには良い投稿があります こちら

基本的には、一連のif elseテストwindow.applicationCache.statusシステムが何をしているかを明確に見てください。

アップルから:

たとえば、次のようにDOMApplicationCacheオブジェクトを取得します。

cache = window.applicationCache;

次のようにして、アプリケーションキャッシュのステータスを確認できます。

if (window.applicationCache.status == window.applicationCache.UPDATEREADY)...

アプリケーションキャッシュがUPDATEREADY状態の場合は、次のようにupdate()メッセージを送信することで更新できます。

window.applicationCache.update();

更新が成功した場合は、次のように古いキャッシュと新しいキャッシュを入れ替えます。

window.applicationCache.swapCache();
2
Whitney Krape

サーバー側にもキャッシュされますか? ?foo = 12345のようなgetパラメータをURLに追加して、更新されたファイルを取得するかどうかを確認してください。

2
Dave Kasper

いいえ(私の知る限り)

質問者に回答を受け入れてもらいたいようですが、実際には誰も答えていません。私は専門家ではありませんが、たくさん検索してきました。「いいえ」は正しいと思い、提示された質問に答えます。

0
DaveWalley