Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Localstorage在firefox中无法正常工作。返回空值的对象_Javascript_Html_Firefox_Local Storage_Firefox Addon Sdk - Fatal编程技术网

Javascript Localstorage在firefox中无法正常工作。返回空值的对象

Javascript Localstorage在firefox中无法正常工作。返回空值的对象,javascript,html,firefox,local-storage,firefox-addon-sdk,Javascript,Html,Firefox,Local Storage,Firefox Addon Sdk,我正在将chrome扩展移植到firefox。在chrome中一切正常,但以下代码在firefox中生成错误 localStorage.setItem("display_tooltip", false); data = localStorage.getItem('display_tooltip'); if(data.display_tooltip) //line where error occurs display_tooltip =

我正在将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;
我在firefox上得到一个错误,说数据为空。我哪里做错了。当我运行chrome扩展时,同样的代码可以完美地工作。 我正在使用firefox插件sdk

您的数据是:

data = localStorage.getItem('display_tooltip')
为什么要使用
数据。是否显示工具提示以检查?只要
if(data){…}
。也许您需要检查
数据的类型。可能是字符串true或false,但不是bool。

您的数据是:

data = localStorage.getItem('display_tooltip')
为什么要使用
数据。是否显示工具提示以检查?只要
if(data){…}
。也许您需要检查
数据的类型。可能是字符串true或false,但不是bool。

不存储字符串,因此您必须进行相应的比较。您需要检查
数据
变量而不是
数据。显示工具提示
,如下所示:

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");
}
演示::

不存储字符串,因此您必须进行相应的比较。您需要检查
数据
变量而不是
数据。显示工具提示
,如下所示:

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");
}

演示::

它在任何浏览器中都不起作用

您正在为变量
数据设置“false”,因此
数据。显示工具提示不存在

只需询问
数据的值

if (data == 'true')
  display_tooltip = true;
else
 display_tooltip = false;

请注意,
localStorage
不存储布尔值,因此在检查值时需要询问“true”字符串。

它在任何浏览器中都不起作用

您正在为变量
数据设置“false”,因此
数据。显示工具提示不存在

只需询问
数据的值

if (data == 'true')
  display_tooltip = true;
else
 display_tooltip = false;
请注意,
localStorage
不存储布尔值,因此在检查值时需要询问“true”字符串