Javascript 未定义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");

这是我非常直接的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");
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
。这对于弹出窗口是正确的。