科尔多瓦/ Javascript localStorage.setItem仅在第一次启动时使用

Cordova/Javascript localStorage.setItem Only on first boot

本文关键字:第一次 启动 setItem localStorage Javascript      更新时间:2023-09-26

我想知道是否有可能在第一次启动时只调用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);
});
对于这个问题,有人有什么建议吗?感谢阅读/帮助

如果您确定要为此使用本地存储,则可以在对其进行写入之前检查该键是否存在。

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,如果没有找到键