我想知道是否可以在第一次启动时调用localStorage.setItem
。我只是想设置一个json
文件供以后使用,我不希望每次重新启动应用程序时都会因为localStorage.setItem
而再次擦除保存的信息。什么是最好的解决方案?我试过添加一个if并检查保存文件是否已经存在。我无法让这个工作,程序崩溃了。
我曾尝试寻找有同样问题的其他人,但我找不到任何人。
这是我的代码:
localStorage.setItem('data', JSON.stringify({ < I want
"data":[ < this code
{"id":"0", "test":"test1"}, < only called
{"id":"1", "test":"test2"}, < on the first
{"id":"2", "test":"test3"}, < boot of my
] < cordova
})); < app
var data = JSON.parse(localStorage.getItem('data'));
$.each( data.data , function( key, value ) {
alert(value.test);
});
有没有人对此问题有任何提示?感谢您阅读/帮助
答案 0 :(得分:0)
如果您确定要使用本地存储,可以在写入之前检查密钥是否存在。
if (!localStorage.getItem('data')) {
//we haven't written the entries, write them
localStorage.setItem('data', JSON.stringify({
"data":[
{"id":"0", "test":"test1"},
{"id":"1", "test":"test2"},
{"id":"2", "test":"test3"},
]
}));
}
如果找不到密钥, getItem
将返回null。