无法使用HTML5 Web存储保存布尔值的解决方法
Workaround for not being able to save booleans with HTML5 Web Storage
我目前正在用Javascript,或者更准确地说,CraftyJS制作一款马里奥风格的游戏。
我把这里作为参考,并了解如何保存用户输入的值。但我想实现的是自动保存某些布尔值(这就是它们的名字吗?),或者当玩家按下保存按钮或其他什么的时候。
例如,我有一个名为地牢1的地牢,我创建了一个变量来表示地牢是否已经完成。
默认情况下为var dungeon1 = false;
。
但当玩家完成地下城1时,它变为var dungeon1 = true;
,从而为世界地图添加了新的内容,比如一个通往地下城2的门户(这很好)。
我想保存的是这个var dungeon1 = true;
语句,这样当用户再次打开游戏时,完成的地下城将被加载,相应的解锁将正确显示。我该怎么做?有没有办法说,制作一个名为save.js
的保存管理文件,然后在它们变成true
后存储像上面这样的布尔值?
您只需存储所需布尔值的字符串版本。
因此,存储"true"answers"false",而不是像if(variable)那样进行检查,而是必须以if(variable==="true")的形式进行检查。这有点麻烦,但你可以看到它并没有真正给你的代码增加更多的复杂性。
如果这种类型的If检查只是冒犯了你的敏感度,那么在你从localStorage"获取"它的代码中,你可以将它重写为布尔值。
var bool = (localStorage.getItem("myItem") === "true")
PS。可以使用布尔值设置Item。。。它只会将它们强制转换为字符串:D,因为如果它们还不是字符串,它会调用toString()来存储它们。
所以你可以做:
enter code here
localStorage.setItem("myItem",true)
- 如何从javascript/jquery中的复选框中获取布尔值
- KendoUI网格行过滤器,带有布尔值下拉列表
- php布尔值's小写AND大写和数字布尔值'可以接受
- 如何在Javascript中将单选按钮值保存到cookie中
- select中布尔值的Angularjs ng值不起作用
- 由于布尔值的变化,Django视图中的字符串格式不正确
- MeteorJs Alded autoform,如何从布尔值复选框中获得所需值
- 将字符串动态转换为布尔值
- 将布尔值存储在隐藏字段中以进行表单处理
- 类型错误:布尔值不是 Angular 中登录函数的函数
- 将多个值保存到隐藏文件
- Yui Get 复选框返回数组而不是布尔值
- 为什么 1.2 == true 返回 false 如果布尔值 (1.2) 实际上是真的
- 为什么第一个将其视为布尔值,其次不将其视为布尔值
- 当值可能不是正确的布尔值时,如何测试 true
- jquery -ajax 不检查控制器的布尔值
- JS生成随机布尔值
- 如何将socket.on中函数的值保存为全局变量
- 无法使用HTML5 Web存储保存布尔值的解决方法
- 保存时角度布尔值不变