Javascript 仅在Firefox中存在localStorage.removietem()问题(v13)

Javascript 仅在Firefox中存在localStorage.removietem()问题(v13),javascript,html,firefox,local-storage,Javascript,Html,Firefox,Local Storage,我很抱歉,只有Firefox存在一个奇怪的问题 我正在将项目保存到localStorage,其中一个是我用JSON.stringify字符串化的相当大的JSON对象。问题是,当我尝试在localStorage对象上使用removeItem时,它会清除整个内容。所有属性都被清除。但是如果我刷新页面,属性就会返回。这适用于Safari、Chrome和Opera的最新版本,但只有Firefox有这个奇怪的问题 我已将问题隔离到一行,在该行中我调用localStorage.removietemvalue

我很抱歉,只有Firefox存在一个奇怪的问题

我正在将项目保存到localStorage,其中一个是我用JSON.stringify字符串化的相当大的JSON对象。问题是,当我尝试在localStorage对象上使用removeItem时,它会清除整个内容。所有属性都被清除。但是如果我刷新页面,属性就会返回。这适用于Safari、Chrome和Opera的最新版本,但只有Firefox有这个奇怪的问题

我已将问题隔离到一行,在该行中我调用localStorage.removietemvalue。以前有人见过这样的东西吗

我甚至对窗口对象上的存储事件进行了一些调试,只是为了看看发生了什么。我把它的输出包括在下面。当我尝试删除一个属性,任何属性时,所有这些都会返回

阿尔特基 未定义

吸引变化 未定义

属性名 未定义

泡泡 假的

可取消 假的

特尔基 未定义

当前目标 窗口周末出游

资料 未定义

委派目标 窗口周末出游

事件阶段 二,

handleObj 对象{type=storage,origType=storage,guid=9}

jQuery17207456704310204192 真的

元键 未定义

原始喷口 储藏

关联节点 未定义

相关目标 未定义

移位键 未定义

SRC元件 未定义

目标 窗口周末出游

时间戳 1340773330422505

类型 储藏

看法 未定义

哪个 未定义

防止发生故障 返回错误

IsimmediatePropagationsToping 返回错误

isPropagationStopped 返回错误

防止违约 作用

停止即时复制 作用

停止传播 作用

原型 对象{preventDefault=函数,stopPropagation=函数,stopImmediatePropagation=函数,更多…} 存储更改 城市…0771360线路55

阿尔特基 未定义

吸引变化 未定义

属性名 未定义

泡泡 假的

可取消 假的

特尔基 未定义

当前目标 窗口周末出游

资料 未定义

委派目标 窗口周末出游

事件阶段 二,

handleObj 对象{type=storage,origType=storage,guid=9}

jQuery17207456704310204192 真的

元键 未定义

原始喷口 储藏

关联节点 未定义

相关目标 未定义

移位键 未定义

SRC元件 未定义

目标 窗口周末出游

时间戳 1340773330470620

类型 储藏

看法 未定义

哪个 未定义

防止发生故障 返回错误

IsimmediatePropagationsToping 返回错误

isPropagationStopped 返回错误

防止违约 作用

停止即时复制 作用

停止传播 作用

原型 对象{preventDefault=函数,stopPropagation=函数,stopImmediatePropagation=函数,更多…} 存储更改 城市…0771360线路55

阿尔特基 未定义

吸引变化 未定义

属性名 未定义

泡泡 假的

可取消 假的

特尔基 未定义

当前目标 窗口周末出游

资料 未定义

委派目标 窗口周末出游

事件阶段 二,

handleObj 对象{type=storage,origType=storage,guid=9}

jQuery17207456704310204192 真的

元键 未定义

原始喷口 储藏

关联节点 未定义

相关目标 未定义

移位键 未定义

SRC元件 未定义

目标 窗口周末出游

时间戳 1340773331099462

类型 储藏

看法 未定义

哪个 未定义

防止发生故障 返回错误

IsimmediatePropagationsToping 返回错误

isPropagationStopped 返回错误

防止违约 作用

停止即时复制 作用

停止传播 作用

原型 对象{preventDefault=函数,stopPropagation=函数,stopImmediatePropagation=函数,更多…} 存储更改 城市…0771360线路55

阿尔特基 未定义

吸引变化 未定义

属性名 未定义

泡泡 假的

可取消 假的

特尔基 未定义

当前目标 窗口周末出游

资料 未定义

委派目标 窗口周末出游

事件阶段 二,

handleObj 对象{type=storage,origType=storage,guid=9}

jQuery17207456704310204192 真的

元键 未定义

原始喷口 储藏

关联节点 未定义 相关目标 未定义

移位键 未定义

SRC元件 未定义

目标 窗口周末出游

时间戳 1340773332394871

类型 储藏

看法 未定义

哪个 未定义

防止发生故障 返回错误

IsimmediatePropagationsToping 返回错误

isPropagationStopped 返回错误

防止违约 作用

停止即时复制 作用

停止传播 作用

原型 对象{preventDefault=函数,stopPropagation=函数,stopImmediatePropagation=函数,更多…} 存储更改 城市…0771360线路55

阿尔特基 未定义

吸引变化 未定义

属性名 未定义

泡泡 假的

可取消 假的

特尔基 未定义

当前目标 窗口周末出游

资料 未定义

委派目标 窗口周末出游

事件阶段 二,

handleObj 对象{type=storage,origType=storage,guid=9}

jQuery17207456704310204192 真的

元键 未定义

原始喷口 储藏

关联节点 未定义

相关目标 未定义

移位键 未定义

SRC元件 未定义

目标 窗口周末出游

时间戳 1340773332395014

类型 储藏

看法 未定义

哪个 未定义

防止发生故障 返回错误

IsimmediatePropagationsToping 返回错误

isPropagationStopped 返回错误

防止违约 作用

停止即时复制 作用

停止传播 作用

原型 对象{preventDefault=函数,stopPropagation=函数,stopImmediatePropagation=函数,更多…} 存储更改 城市…0771360线路55

阿尔特基 未定义

吸引变化 未定义

属性名 未定义

泡泡 假的

可取消 假的

特尔基 未定义

当前目标 窗口周末出游

资料 未定义

委派目标 窗口周末出游

事件阶段 二,

handleObj 对象{type=storage,origType=storage,guid=9}

jQuery17207456704310204192 真的

元键 未定义

原始喷口 储藏

关联节点 未定义

相关目标 未定义

移位键 未定义

SRC元件 未定义

目标 窗口周末出游

时间戳 1340773361375308

类型 储藏

看法 未定义

哪个 未定义

防止发生故障 返回错误

IsimmediatePropagationsToping 返回错误

isPropagationStopped 返回错误

防止违约 作用

停止即时复制 作用

停止传播 作用

原型 对象{preventDefault=函数,stopPropagation=函数,stopImmediatePropagation=函数,更多…} 存储更改
cityli…0771360第55行

对不起,伙计们,我甚至不知道如何解释这一点,但我在这里找到了答案:

如果执行以下操作,则会出现错误。如果您与localStorage的第一次交互是removeItem,则无法从localStorage对象获得适当的长度。似乎本地存储中的所有项目都已被删除。事实并非如此,浏览器只是没有用localStoage的内容更新缓存

这是建议的解决方法,直到问题得到解决:

目前的解决方法是在使用localStorage执行任何其他操作之前获取localStorage对象的长度,以便它按预期工作


我在Soy中看到的最大的问题是,你可以尝试使用类似store.js的东西,或者尝试在Firefox上查看localStorage兼容性:下次尝试缩短你的问题。很多细节肯定会有帮助,但这次不行。你在这里提供的细节肯定没有帮助。它实际上阻止了其他人回答你的问题。