Cordova / Javascript localStorage.setItem仅在首次启动时

时间:2015-05-21 16:44:55

标签: javascript json cordova storage

我想知道是否可以在第一次启动时调用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);
});

有没有人对此问题有任何提示?感谢您阅读/帮助

1 个答案:

答案 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。