2011-08-02 7 views
9

まず、技術的な世界で経験がほとんどないインターンですので、私の質問に対する答えが明らかであれば申し訳ありません。私は数日の間に答えを見つけようとしましたが、それを示すことはほとんどありません。HTML5でJSONオブジェクトをキャッシュする

私のプロジェクトでは、電話帳を開発しています。私が今しようとしているのは、ユーザーがアプリを使い始めてから検索されたトップ10の名前を表示するボックスが頻繁に検索されるということです。私は、以下の情報と、クライアント側のキャッシュに結果JSONオブジェクトを作るために滑走しています:

var myJSONObject = {"searched": [  {"firstname":firstName,"lastname":lastName,"PK":pk,"phone":phonenumber,"email":emailaddress,"bu":businessunit,"company":company,"building":building, "fax":fax, "timesvisited":"accumulator to keep track of visits to the name"} 

] を};

私の頭痛は今、JSONオブジェクトをキャッシュする方法を考え出しています。私はマニフェストファイルを作成し、CSSファイルなどの特定のファイルをキャッシュする方法を知っていますが、上記のコードのようなものをキャッシュして、データが保存され、2回目の訪問時?

+0

のようなものはありません...ああ、 'それを忘れて:)' –

+0

笑..私が言ったように、私はこれに非常に新しいです...しかしあなたの権利。おそらくそれを行かせるために良いこと;)。 –

答えて

10

ローカルストレージは、Firefox 3.5、IE 8、およびChrome 4以降でサポートされています。それを取得するには

localStorage['jsoncache'] = JSON.stringify(myJSONObject); 

:ローカルストレージにキャッシュを保存するために

myJSONObject = JSON.parse(localStorage['jsoncache']); 

お知らせをどのようにあなたが唯一の店舗の文字列ではなく、ローカル・ストレージ内のオブジェクトのいずれかの種類を、することができます。必要に応じてjsoncacheのキーを別のものに変更することができます。

+0

ありがとう! :D。 –

+1

この場合、jsoncacheは同じディレクトリの.txtファイルですか? –

+0

問題ありません! –

4

オブジェクトを作成、保守、取得する方法は完全にはわかりませんが、Ajax経由でロードする場合はHTTPキャッシュを使用できます。

あなただけそれをローカルに保存したい場合は、あなたがlocalStorageを使用することができます(唯一の新しいブラウザがあることをサポート):

// Serialize and store 
localeStorage['topten'] = JSON.stringify(myJSONObject) 

// Retrieve and deserialize 
var myJSONObject = JSON.parse(localeStorage['topten']) 
+1

ありがとうございました。あなたの答えと上記のものは、私にとってこのことを非常に明確にしました。 –