0

を使用$.ajax({..})して、サーバーから XML ファイルの内容を受け取ります。したがって、ページが読み込まれるたびにこのファイルを要求する必要はありません。可能であれば、このコンテンツをローカルにキャッシュし、ディスク上のファイルに保存したいと思います。ただし、再起動後、翌日でも利用できるようにキャッシュしてください。XML ファイルの内容は毎日更新されるため、頻繁にファイルを再送信する必要はありません。

出来ますか?もしそうなら、どうすればこれを達成できますか?リンクまたはサンプルコードを教えてください。理解できる何か良いものを探しましたが、うまくいきませんでした。

4

2 に答える 2

2

あなたはこれを必要とします

http://brian.io/lawnchair/

于 2012-09-03T17:29:55.670 に答える
1

デフォルトでは、サーバーがファイル ヘッダーを設定する方法に応じて、ブラウザーは通常、応答をキャッシュします。それ以上の永続性が必要な場合は、ローカル ストレージと、場合によってはレガシー サポート用の Cookie を使用できます (ただし、ストレージに関しては非常に実際のサイズ制限があります)。

ローカル ストレージの使用は非常に簡単です。また、有効期限のタイムスタンプを使用して、キャッシュを更新する時期をクライアントに知らせることもできます。

ベアボーンの例:

var mydata = { foo: 'bar' };
var cache = {
    data: mydata,
    expires: new Date().getTime()
}

sessionStorage.setItem("cache", JSON.stringify(cache));

データを取得するには:

var cache = JSON.parse( sessionStorage.getItem("cache") );
if ( cache.expires + day < new Date().getTime() ) {
    // get a fresh copy
} else {
    var mydata = cache.data;
}

より高いレベルの API に慣れている場合は、代わりに使用できるローカル キャッシュの抽象化が多数あります。

于 2012-09-03T17:39:14.843 に答える