Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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 在Firefox插件SDK中存储/访问简单变量_Javascript_Firefox_Firefox Addon_Local Storage_Firefox Addon Sdk - Fatal编程技术网

Javascript 在Firefox插件SDK中存储/访问简单变量

Javascript 在Firefox插件SDK中存储/访问简单变量,javascript,firefox,firefox-addon,local-storage,firefox-addon-sdk,Javascript,Firefox,Firefox Addon,Local Storage,Firefox Addon Sdk,我希望我没有错过这个问题的答案,这个问题看起来太简单了,但我在Mozilla和Stackoverflow之间找不到答案 我试图使用Mozilla插件SDK简单存储来存储一个数字,其中包含自插件激活以来访问过的页面数。为了做到这一点,我在每次页面加载时增加变量数量一次。请参阅下面的代码。我唯一找不到的信息是如何从控制台加载存储的数据(或者,如果我误解了,这些数据不是本地存储在浏览器中吗?)。如果评论说“//load ss.storage.page_visions”,我的问题就出现了——我不知道如何

我希望我没有错过这个问题的答案,这个问题看起来太简单了,但我在Mozilla和Stackoverflow之间找不到答案

我试图使用Mozilla插件SDK简单存储来存储一个数字,其中包含自插件激活以来访问过的页面数。为了做到这一点,我在每次页面加载时增加变量数量一次。请参阅下面的代码。我唯一找不到的信息是如何从控制台加载存储的数据(或者,如果我误解了,这些数据不是本地存储在浏览器中吗?)。如果评论说“//load ss.storage.page_visions”,我的问题就出现了——我不知道如何加载这些数据

var ss = require("sdk/simple-storage");
var pageMod = require("sdk/page-mod");
//load ss.storage.page_visits
if (!ss.storage.page_visits){
    ss.storage.page_visits = 0;
}
var test=   '"<style>\
                h1{\
                    font-size: 5em;\
                    color: red;\
                    font-family: Helvetica;\
                }\
            </style>\
                <h1>test</h1><h2>' + ss.storage.page_visits + '</h2>"';

ss.storage.page_visits++;
if (ss.storage.page_visits/5 == 1){
    pageMod.PageMod({
      include: "*",
      contentScript: 'document.body.innerHTML = ' +
                     test
    });
    ss.storage.page_visits = 0;
}else{
    pageMod.PageMod({
      include: "*",
      contentScript: 'document.body.innerHTML = ' +
                     test
    });
}
console.log(ss.storage.page_visits);
var ss=require(“sdk/简单存储”);
var pageMod=require(“sdk/page mod”);
//加载ss.storage.page\u访问
如果(!ss.storage.page_访问){
ss.storage.page_访问次数=0;
}
var测试='”\
h1{\
字号:5em\
颜色:红色\
字体系列:Helvetica\
}\
\
测试“+ss.storage.page_访问+”;
ss.storage.page_++;
if(ss.storage.page_/5==1){
pageMod.pageMod({
包括:“*”,
contentScript:'document.body.innerHTML='0+
测试
});
ss.storage.page_访问次数=0;
}否则{
pageMod.pageMod({
包括:“*”,
contentScript:'document.body.innerHTML='0+
测试
});
}
console.log(ss.storage.page_访问);

简单存储没有什么问题。只是

默认情况下,cfx run和cfx test在每次执行时都使用新的配置文件。这意味着,默认情况下,从一次cfx运行中输入的任何配置文件特定数据在下一次运行中都不可用

请参见每次在同一配置文件上运行,或在不重新启动浏览器的情况下运行扩展

按照当前的设置方式,存储的变量将在每次安装时增加一次,而不是每次页面访问时增加一次。如果您想在page visit上增加它,您需要将
ss.storage.page_visits++
放在
PageMod
onAttach
构造函数中

另外,为什么
ss.storage.page_访问/5==1


ss.storage.page\u访问==5

无需加载它。您只需访问它即可。您的代码应该按原样工作。console日志是什么?console根本没有变量的日志,html文本中包含的每个页面访问次数的变量显示为0,无论访问多少次。我希望代码能按原样工作!啊哈,太棒了。谢谢,这就是我丢失的拼图。我一直在想…而且,这种情况是因为我之前一直在测试一个渐进计数,我没有重置为0;刚刚忘了编辑它!