我有一个page-mod
,它使用数组作为包含字段的数据。我希望能够使用splice
从数组中添加/删除数据,并进行page-mod
刷新。这是我的代码:
//APIs:
var store = require("simple-storage");
var pageMod = require("page-mod");
var self = require("self");
//Array for Include:
store.storage.sites = ["*.example.com","*.google.com","*.org"];
//Page-mod code:
myPageMod = pageMod.PageMod({
include: store.storage.sites,
contentScriptWhen: 'start',
contentScriptFile: [self.data.url("nicEdit-latest.js"),
self.data.url("pagedit.js")]
});
//Code to change array
function deleteItem(index) {
store.storage.sites.splice(index,1);
});
现在我需要的是将page-mod
作为deleteItem
的一部分进行更新的方法,以便它不再适用于新删除的网站。
我尝试将page-mod
放入函数并调用函数。我也尝试更新数组然后myPageMod.include = store.storage.sites
,但这也没有做任何事情。
答案 0 :(得分:2)
page-mod
有include
property,包含当前包含规则的列表。您可以在其上调用add()
和remove()
方法,例如:
function addItem(rule) {
store.storage.sites.push(rule);
myPageMod.include.add(rule);
}
function deleteItem(index) {
myPageMod.include.remove(store.storage.sites.splice(index,1));
}
答案 1 :(得分:0)
我认为如果您使用变量来引用您的pagemod,您应该可以更改它。
var myPageMod = pageMod.PageMod({
include: store.storage.sites,
contentScriptWhen: 'start',
contentScriptFile: [self.data.url("nicEdit-latest.js"),
self.data.url("pagedit.js")]
});
function deleteItem(index) {
myPageMod.include = store.storage.sites.splice(index,1);
});