gsdev99,
function initData(key, url, onComplete, time) {
var value = localStorage[key];
if (value) {
value = JSON.parse(value);
if (new Date - value.time > time) {
update();
} else {
onComplete(value.data);
}
} else {
update();
}
function update() {
$.getJSON(url, function (data) {
value = { time: +new Date, data: data };
localStorage[key] = JSON.stringify(value);
}).always(function () {
onComplete(value && value.data);
});
}
}
initData('myData', 'example.json', function (data) {
if (!data) return;
// data.id
// data.name
// data.value
}, 30 * 60 * 1000);