本地存储在火狐中无法按预期工作.返回空值的对象
Localstorage not working as intended in firefox. Returns object of null
我正在将chrome扩展移植到Firefox。Chrome 中一切都很好,但以下代码在 Firefox 中生成错误。
localStorage.setItem("display_tooltip", false);
data = localStorage.getItem('display_tooltip');
if(data.display_tooltip) //line where error occurs
display_tooltip = true;
else
display_tooltip = false;
我在火狐上收到一个错误,说数据为空。我哪里做错了。当我运行 chrome 扩展程序时,相同的代码可以完美运行。我正在使用火狐插件-sdk。
localStorage 存储字符串而不是布尔值,因此您必须相应地进行比较。并且您需要检查data
变量而不是data.display_tooltip
,因为:
localStorage.setItem("display_tooltip", false);
data = localStorage.getItem('display_tooltip');
// variavle 'data' holds value stored in 'display_tooltip' variable
if(data == "true") {
//your code
alert("True");
}
else {
//false, your code
alert("False");
}
演示:: js小提琴
它不适用于任何浏览器。
您正在将"false"设置为变量data
因此data.display_tooltip
不存在。
只需询问data
的值:
if (data == 'true')
display_tooltip = true;
else
display_tooltip = false;
请注意,localStorage
不存储布尔值,因此在检查值时需要询问"true"字符串。
你的数据是:
data = localStorage.getItem('display_tooltip')
为什么使用data. display_tooltip
进行检查?只是if (data) { ... }
.也许您需要检查data
的类型.也许它是一串真或假,但不是布尔值。
相关文章:
- importScripts在web工作程序中返回未定义的
- 我对“;返回true"嵌套函数内部;t工作
- JavaScript表单返回,但无法正常工作
- AWS API网关返回400错误请求,但Postman工作正常
- JavaScript 返回对象未按预期工作
- Jquery Ajax POST方法不工作,返回未定义的值
- 一个对象怎么能像返回自身和另一个对象一样工作
- 我的设备后退按钮工作不正常,它转到第一个html,但返回到第二个html
- jQuery JSON flickr提要返回false不工作
- 调用Typescript setter don't返回函数,尽管关联的getter可以工作
- 当JS在Chrome控制台上正常工作时,Selenium JavaScript执行器返回null
- BrainTree Hosted Fields onPaymentMethodReceived函数不工作,返回nonce
- 如何使此循环工作?它's返回未定义的语言js
- getElementById不工作返回NULL
- 本地存储在火狐中无法按预期工作.返回空值的对象
- PapaParse不工作(返回空数组)
- 使用数字属性时操作不工作(返回NaN)
- 价值.长度& lt;10 .不工作返回false
- JavaScript -函数不工作返回false
- HTML DOM不工作/返回未定义