制作游戏并尝试将完成的数组保存到cookie。这在第一次制作cookie时效果很好,但当您稍后返回以继续播放该cookie时,该cookie看起来是只读的,不会像重新加载页面之前那样更改。使饼干不是只读
类似于:var completedLevels = [1,1,0,0,0,0,0];
在游戏的第一次运行中是可编辑的,但如果您关闭游戏并返回,则数组会被锁定在之前的任何状态,即:在此情况下为[1,1,0,0,0,0,0]
。
这显然不是真正的我正在寻找的行为,所以我想知道是否有办法让cookie不能只读创建或类似的东西。到目前为止,我的研究似乎表明,cookies从来就不是只读的,这使得我有点怀疑,但由于过去我没有用cookie做过多,所以我很困惑!
编辑: 当你第一次玩游戏的数组是:[1,0,0,0,...]
,2级:[1,1,0,0,...]
等[0,0,0,0,...]
的,那么它现在的用户完成1级和阵列更新。当一个级别完成时,该数组放入Cookie中:document.cookie = "completedLevels=" + this.completedArr + "; expires=Mon, 3 April 2034 20:47:11 UTC path=/";
。现在说你已经玩过1,2和4级了,所以阵列看起来像这样:[1,1,0,1,...]
,关闭页面,稍后再回来,期望能够玩到3级。当你完成这个级别时,之前将数组更新为[1,1,1,1,...]
的代码更新了代码的工作版本,但不包括cookie。
请向我们展示您的实际代码,因为这听起来更像您的代码有问题(特别是因为没有只读cookie)。你也应该知道你不能只把一个数组放入cookie中。您必须首先将数组转换为字符串,因为Cookie只是字符串。 – jfriend00
仅游戏客户端/ JS,还是有服务器代码?什么是设置cookie?什么是读取cookie。 “什么意思是”锁定在之前的状态?“显示代码,获取具体信息。 – JAAulde
客户端,请参阅编辑了解更多详情 – dlkulp