HTML5 ローカル ストレージを使用して多数のサイトの詳細を保存しようとしていますが、ちょっとした壁にぶつかりました。
基本的に、私はアプリケーションがデータをオフラインでキャッシュできるようにしたいと考えています。私が開発してきた方法では、メイン ページが読み込まれるたびにコンテンツが localStorage.sitedata としてキャッシュされます。JSONとして保存しています。
私が書いたコードは次のようになります。
// Retrieve response as JSON
response = $.parseJSON(data);
// Store the data in HTML5 local storage as well
var dataToCacheArray = new Array();
for(var item in response){
var obj = response[item];
dataToCacheArray.push(obj);
}
var dataToCache = JSON.stringify(dataToCacheArray);
localStorage.sitedata = dataToCache;
これで、dataToCacheArray のデータはまさに私が求めているものになりました。これは、多数の JavaScript オブジェクトを含む配列です。console.log() を使用して dataToCacheArray を表示すると、Chrome の開発者ツールに表示されるように、そのうちの 1 つを次に示します。
lastChecked: "13:46:55 Wednesday 15 August 2012"
siteId: "34"
status: "1"
success: "1"
url: "http://localhost"
その後、dataToCacheArray の文字列化されたバージョンを dataToCache として保存し、それを console.log() で表示すると、次のようになります。
[{"status":"1","success":"1","siteId":"34","lastChecked":"13:46:55 Wednesday 15 August 2012"}]
ご覧のとおり、何らかの理由で URL が文字列化されたバージョンに含まれていません。私がどこで失敗したかについて何か考えはありますか?