我在设置localStorage数据的页面上有Javascript:
localStorage.setItem('blah', 1);
然后,我的代码会在按钮点击时重定向到另一个页面。
在另一个页面上,我尝试访问localStorage中的项目,但是我有30%的时间获得Uncaught TypeError: Cannot read property 'blah' of null
。为什么localStorage每次都没有保存?
我错过了什么吗?
在当前页面
localStorage.setItem('blah', 1);
$('.btn').on('click', function() { window.location.href = 'http://example.com/signup?redirect=/chkout'; });
在重定向页面
localStorage.getItem('blah', 1); ==> null
答案 0 :(得分:0)
localStorage数据应该由多个文档保留。可能存在某些其他操作覆盖localStorage数据的情况。您可以尝试通过添加以下eventListener来调试它:
window.addEventListener("storage", function(data) {
console.debug(data);
}, false);
每次访问存储时都应记录数据。
答案 1 :(得分:0)
这可能是因为
如果请求违反了策略决策(例如,如果用户代理配置为不允许页面持久保存数据),则用户代理可能会抛出SecurityError异常并中止这些步骤而不是返回Storage对象。 / p>
- 醇>
如果Document的origin不是scheme / host / port元组,则抛出SecurityError异常并中止这些步骤。