gpt4 book ai didi

javascript - 如何动态更改 Mozilla SDK page-mod 中排除的 url

转载 作者:行者123 更新时间:2023-11-30 05:32:11 26 4
gpt4 key购买 nike

如何在 Mozilla SDK 的 page-mod 中更改“exclude”的值并在运行时使用新值?在我的场景中,当用户选择从我的插件中排除页面时,我刷新简单存储中的“页面”数组。我想通过以某种方式使用新设置重新启动 page-mod 来立即将此页面排除在处理之外。目前,当我重新加载排除的选项卡时,我的脚本仍在页面上运行。

目前唯一有效的就是静态数组声明:['*.example.org']。

var  excludedUrls = require("sdk/simple-storage").storage.pages; // doesn't 
//work.
//When exclude is set to this var I get: "Message: RequirementError:
//If set, the `exclude` option must always contain at least one rule as a
//string, regular expression, or an array of strings and regular expressions."
// excludedUrls does contain an array of stings!

var pm = require("sdk/page-mod").PageMod({
include: ['*'],
//Error when set to: excludedUrls OR require("sdk/simple-storage").storage.pages
exclude: ['*.example.org'],
contentScriptWhen: "ready",
attachTo: ["existing", "top"],
contentScriptFile: [data.url("script.js")]
});

MDN 中的页面模式条目:https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/page-mod

最佳答案

当我无意中将空值添加到存储时,我遇到了这个错误。记录 excludedUrls 的值以确保它只是字符串。

至于exclude,你可以做pm.include = someArray 或者pm.include.add(someString)/pm .include.remove(someString) ( docs )。您是否尝试过使用 exclude 做同样的事情?如果是这样,你应该 file a bug告诉他们将其添加到文档中。

关于javascript - 如何动态更改 Mozilla SDK page-mod 中排除的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26222367/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com