Javascript 未定义loadContextGoodies
这是我非常直接的firefox插件main.js。我运行它并得到“loadContextGoodies未定义”,这里出了什么问题Javascript 未定义loadContextGoodies,javascript,firefox-addon,firefox-addon-sdk,Javascript,Firefox Addon,Firefox Addon Sdk,这是我非常直接的firefox插件main.js。我运行它并得到“loadContextGoodies未定义”,这里出了什么问题 const {Cc, Ci, Cu, Cr} = require("chrome"); var events = require("sdk/system/events"); var utils = require("sdk/window/utils"); var { MatchPattern } = require("sdk/util/match-pattern");
const {Cc, Ci, Cu, Cr} = require("chrome");
var events = require("sdk/system/events");
var utils = require("sdk/window/utils");
var { MatchPattern } = require("sdk/util/match-pattern");
var pattern = new MatchPattern(/^https?:\/\/example\.com.*/);
function listener(event) {
var channel = event.subject.QueryInterface(Ci.nsIHttpChannel);
var url = event.subject.URI.spec;
if (isToBeRedirected(url)) {
channel.cancel(Cr.NS_BINDING_ABORTED);
var goodies = loadContextGoodies(channel);
var domWin = goodies.aDOMWindow;
var gBrowser = goodies.gBrowser;
var browser = goodies.browser;
var htmlWindow = goodies.contentWindow;
browser.loadURI("about:blank");
}
}
exports.main = function() {
events.on("http-on-modify-request", listener);
}
function isToBeRedirected(url) {
return pattern.test(url)
}
编辑:我完全忽略了用于重定向位的源代码部分,其中包含函数声明。我没注意到那是一个滚动框。。谢谢你的回答。根据这个答案:
您需要根据该答案声明
loadContextGoodies
:
您需要根据该答案声明
loadContextGoodies
:
您需要根据该答案声明
loadContextGoodies
:
您需要声明
loadContextGoodies
此loadContextGoodies
的实现更好,如果gBrowser
为空,则解决方案中链接的实现会出错。而loadContext
可以有一个DOMWindow
,但不能有gBrowser
、browser
或tab
。对于弹出窗口也是如此。如果gBrowser
为空,则此loadContextGoodies
的实现最好是在解决方案中链接的实现遇到错误。而loadContext
可以有一个DOMWindow
,但不能有gBrowser
、browser
或tab
。对于弹出窗口也是如此。如果gBrowser
为空,则此loadContextGoodies
的实现最好是在解决方案中链接的实现遇到错误。而loadContext
可以有一个DOMWindow
,但不能有gBrowser
、browser
或tab
。对于弹出窗口也是如此。如果gBrowser
为空,则此loadContextGoodies
的实现最好是在解决方案中链接的实现遇到错误。而loadContext
可以有一个DOMWindow
,但不能有gBrowser
、browser
或tab
。这对于弹出窗口是正确的。