0

私は iPhone 用の Web HTML5 アプリケーションを開発していますが、奇妙な状況に陥っています。オフラインで使用するためにすべてをキャッシュする必要がありますが、それで問題ありませんが、後でオンラインになると、キャッシュバージョンが引き続き使用されます。可能な場合は、アプリでキャッシュ バージョンではなくオンライン バージョンを使用する必要がありますが、それに関する情報を見つけることができません。

前もって感謝します!

4

1 に答える 1

1

どのフレームワークを使用しているかはわかりませんが、Sencha では、次のようにしてネットワークを使用するように指定する必要があります。

NETWORK:
*

マニフェスト ファイルに何かがある場合は、そのキャッシュされたコピーが常に使用されます。これが発生していることです。これが、マニフェスト ファイルにある項目の既定の動作です。

ここで、少しトリッキーになります。

記事: http://www.sencha.com/learn/taking-sencha-touch-apps-offline/

この Sencha オフラインの例では、キャッシュされたデータベースのプロキシを設定し、ブラウザのキャッシュとローカル ストレージを切り替えます。

次に、タイムアウトなしでリスナーを作成して、オフラインかオンラインかを検出します。

タイムアウトした場合は、ローカル プロキシを使用します。このような:

this.onlineStore.addListener('load', function () {
    console.log("I think we are online");
    helloWorld.offlineStore.proxy.clear();
    this.each(function (record) {
        var photo = helloWorld.offlineStore.add(record.data)[0];
    });
    helloWorld.offlineStore.sync();
    helloWorld.gallery.bindStore(helloWorld.offlineStore);
});
于 2012-03-10T21:49:28.587 に答える