我正在使用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)
这是有效的,但不是一个非常漂亮的解决方案,任何其他任何人这样做或我只是要处理它?
我正在开发一个 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)
然后我就可以通过获取“状态”或“单词”来区分两者,但这不起作用。
如何存储状态和单词而不相互干扰?