小编Saa*_*aru的帖子

使用setInterval()重复脚本

我正在使用Chrome扩展程序来获取推文,我想我可以使用setInterval()函数让脚本每分钟运行一次.首先,我尝试给它这样的功能:

setInterval(myFunction(), interval);
Run Code Online (Sandbox Code Playgroud)

但它只会执行一次我的脚本.然后出于好奇我尝试在setInterval()函数中声明函数,如下所示:

setInterval(function() {body of my function}, interval);
Run Code Online (Sandbox Code Playgroud)

这是有效的,但不是一个非常漂亮的解决方案,任何其他任何人这样做或我只是要处理它?

javascript google-chrome-extension

0
推荐指数
1
解决办法
526
查看次数

如何存储 Chrome 扩展程序的多个选项?

我正在开发一个 Chrome 扩展程序,可以用不同的单词替换网站上的单词。我允许用户输入他们想要替换的自己的单词,我将它们保存如下:

function storeOptions(){
var words = new Object(); // storageArea.set() method takes an object that contains all the items to be stored. This Object contains those.
$("option").each(function(key,value){ // .each(index, element)
 words[value.id] = value.text;
 chrome.storage.sync.set(words, function(){console.log("Stored: "+value.text);});
});
}
Run Code Online (Sandbox Code Playgroud)

在此实现之前,我通过浏览器操作成功启用和禁用了扩展程序,该浏览器操作以类似的方式使用存储在同一存储区域中的设置:

chrome.storage.sync.set({"status":"enabled"});
Run Code Online (Sandbox Code Playgroud)

我面临的问题是,在实现添加单词的选项后,状态要么没有正确存储,要么受到选项的影响,因为当我尝试检索它时,它没有值“已启用”或“已禁用”,如下所示:

chrome.storage.sync.get("status", function(result) {
  console.log("status: "+result["status"]); // status: status
});
Run Code Online (Sandbox Code Playgroud)

我在想也许我可以将要替换的单词存储为数组,以如下方式调用:

chrome.storage.sync.set({"words" : words});
Run Code Online (Sandbox Code Playgroud)

然后我就可以通过获取“状态”或“单词”来区分两者,但这不起作用。

如何存储状态和单词而不相互干扰?

javascript json google-chrome-extension

0
推荐指数
1
解决办法
1115
查看次数

标签 统计

google-chrome-extension ×2

javascript ×2

json ×1