我正在使用适用于Android和IOS的JQuery Mobile应用程序开发Phonegap / Cordova,我想用localStorage存储一些用户首选项。
让我们说'提醒',值为'true'或'false'(如果用户需要提醒,则为true;如果相反,则为false)。
所以,当设备准备就绪时,我检查localStorage.alerts是否= = undefine,如果是,我使用true初始化localStorage.alerts。
e.g。
if (window.localStorage.alerts === undefined) {
window.localStorage.alerts = 'true';
}
当用户选中或取消选中此设置的复选框时,在设置页面中我将localStorage.alerts的值设置为'true'或'false'。
e.g。 window.localStorage.alerts = (this.checked ? 'true' : 'false');
问题是当用户退出应用程序并再次启动时,即使我在第一次运行时启动它,有时我也会再次取消定义。
我正在使用Cordova 3.4,我现在在模拟器上运行Android 4.1.2进行测试。
有什么不对,请帮帮忙。
HTML:
<input type="checkbox" id="alerts" onchange="window.localStorage.alerts = (this.checked ? 'true' : 'false');" />
脚本:
receivedEvent: function () {
$(document).ready(function () {
alert('alerts: ' + localStorage.alerts);
if (localStorage.alerts === undefined) localStorage.alerts = 'true';
}
感谢,
答案 0 :(得分:0)
试试这个,首先使用此
获取alert
的值
//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);
}