0

私は現在、歌詞のプレイリストを作成し、オフラインで使用するためにキャッシュできるアプリケーションを作成しています。お気に入り (JSON 配列) をキャッシュすることもできます。

現在、お気に入りがキャッシュされているため、add favoriteボタンはクライアント側では機能しません。はい、サーバー側でお気に入りを保存しますが、クライアント側には変更はありません。

この問題を解決するにはどうすればよいでしょうか? クリックするたびにキャッシュを再ダウンロードするadd favoriteことしかできませんか、それともこれを解決する別の方法がありますか?

キャッシュを更新する方法を知っていることに注意してください。この問題を解決するためのより良い方法があるかどうか疑問に思っています。

ありがとう!

4

1 に答える 1

2

Javascript を使用して HTML5 アプリケーション キャッシュを更新する必要があると仮定します

できることは、リスナーを使用して、ページの読み込み時に updateready イベントを監視することです。上記のガイドの抜粋:

// Check if a new cache is available on page load.
window.addEventListener('load', function(e) {

  window.applicationCache.addEventListener('updateready', function(e) {
    if (window.applicationCache.status == window.applicationCache.UPDATEREADY) {
      // Browser downloaded a new app cache.
      // Swap it in and reload the page to get the new hotness.
      window.applicationCache.swapCache();
      if (confirm('A new version of this site is available. Load it?')) {
        window.location.reload();
      }
    } else {
      // Manifest didn't changed. Nothing new to server.
    }
  }, false);

}, false);

キャッシュを更新する方法を知っているという質問を更新したので、私の回答も更新してください。Html5 appcache はすべてをダウンロードするように設計されており、問題の「修正」はありません。これが設計方法です。別の解決策を探している場合は、新しい質問をすることをお勧めします。

于 2013-03-28T19:12:36.763 に答える