Jquery mobile 带有jquery mobile localStorage的phonegap/cordova有时会得到未定义的值

Jquery mobile 带有jquery mobile localStorage的phonegap/cordova有时会得到未定义的值,jquery-mobile,cordova,local-storage,Jquery Mobile,Cordova,Local Storage,我正在用JQuery移动应用程序为Android和IOS开发Phonegap/Cordova,我想用localStorage存储一些用户偏好 假设为“警报”,如果用户想要警报,则值为“真”或“假”真,反之则为假 因此,当设备准备就绪时,我会检查localStorage.alerts是否===undefine,如果是,我会使用true初始化localStorage.alerts e、 g 在设置页面中,当用户选中或取消选中此设置的复选框时,我将localStorage.alerts的值设置为“tr

我正在用JQuery移动应用程序为Android和IOS开发Phonegap/Cordova,我想用localStorage存储一些用户偏好

假设为“警报”,如果用户想要警报,则值为“真”或“假”真,反之则为假

因此,当设备准备就绪时,我会检查localStorage.alerts是否===undefine,如果是,我会使用true初始化localStorage.alerts

e、 g

在设置页面中,当用户选中或取消选中此设置的复选框时,我将localStorage.alerts的值设置为“true”或“false”

e、 g.window.localStorage.alerts=this.checked?“真’:‘假’

问题是,当用户退出应用程序并重新启动它时,有时即使在第一次运行时初始化它,我也会再次取消定义

我正在使用Cordova3.4,现在我正在运行Android 4.1.2的模拟器上测试它

怎么了,请帮忙

html:


谢谢,

试试这个,首先使用这个获取警报的值

   //check alert is empty
    if(window.localStorage.getItem('alert')==null){
    //set alert to true value
    window.localStorage.setItem('alert',true);


    }
另外,如果未定义localStorage项,则其默认值为null。设置页面中也使用了相同的值

 //if checkbox is checked 
    if(cheked){
     window.localStorage.setItem('alert',true);
    }else{
    //not checked
     window.localStorage.setItem('alert',false);
    }

首先感谢您的帮助,您的意思是window.localStorage.setItem'alert',true'不是window.localStorage.setItem'alert',trueIts是正确的waywindow.localStorage.setItem'alert',true.已经检查了,现在再次检查了,但是现在我有时会得到null。您也可以检查ifwindow.localStorage.getItem'alert'{//localstorageitem is set}其他{//not set,item value为null}yes true为布尔值,如果您想将放入其中的字符串存储在单引号中,如下图所示//set alert to true boolean value window.localStorage.setItem'alert',true;//将alert设置为true作为字符串值window.localStorage.setItem'alert',true',有什么想法吗??,请帮助!
receivedEvent: function () {
    $(document).ready(function () {
        alert('alerts: ' + localStorage.alerts);

        if (localStorage.alerts === undefined) localStorage.alerts = 'true';
}
   //check alert is empty
    if(window.localStorage.getItem('alert')==null){
    //set alert to true value
    window.localStorage.setItem('alert',true);


    }
 //if checkbox is checked 
    if(cheked){
     window.localStorage.setItem('alert',true);
    }else{
    //not checked
     window.localStorage.setItem('alert',false);
    }