1

jQuery Mobile を使用して Web アプリを開発しています。これらのアプリは、データベースを使用して価格などを取得します (php を使用)。また、アプリをオフラインで使用できるようにするために appcache を使用しています。

<html manifest="manifest.appcache">

これはすべて完璧に機能しています。しかし、オンラインのときは、アプリで appcache を使用したくありません。それ、どうやったら出来るの?

ファイルが利用可能かどうかを確認することで、オンラインかオフラインかを確認できます。

$.ajax({
    url:'http://someurl.com/online.txt',
    type:'HEAD',
    error: function()
    {
        console.log('offline');
    },
    success: function()
    {
        console.log('online');
    }
});

ただし、ページでappcacheを使用しないようにするものは何も見つかりません..

何か不足していますか?

4

1 に答える 1

1

ステップバイステップの解決策:

  1. オンラインかオフラインかを確認する
  2. オンラインの場合は、appcache マニフェストの末尾に # を追加する php スクリプトを実行します。これは、マニフェストが変更された場合にキャッシュが更新されるためです。
  3. キャッシュをスワップしてページを更新する

最終的に機能するようになった後、swapCache() 関数のために Firefox で機能しないことに気付きました。( https://bugzilla.mozilla.org/show_bug.cgi?id=769171 ) 幸運なことに、ユーザーは Firefox を使用していません..

于 2013-10-18T14:07:52.763 に答える