Javascript Firefox插件:从XMLHttpRequest获取选项卡

Javascript Firefox插件:从XMLHttpRequest获取选项卡,javascript,firefox,firefox-addon,firefox-addon-sdk,Javascript,Firefox,Firefox Addon,Firefox Addon Sdk,我正在尝试使用以下代码将XMLHttpRequest与浏览器上的选项卡关联: function getBrowserFromChannel(aChannel) { var notificationCallbacks = aChannel.notificationCallbacks ? aChannel.notificationCallbacks : aChannel.loadGroup.n

我正在尝试使用以下代码将XMLHttpRequest与浏览器上的选项卡关联:

function getBrowserFromChannel(aChannel) {
    var notificationCallbacks = 
        aChannel.notificationCallbacks ? 
                    aChannel.notificationCallbacks :
                    aChannel.loadGroup.notificationCallbacks;

    if (!notificationCallbacks) {
        console.log("no callbacks");
        return (0);
    }
    var loadContext = notificationCallbacks.getInterface(Ci.nsILoadContext);
getInterface(Ci.nsILoadContext)失败,原因是:“组件没有请求的接口”

你知道我还能用什么方法得到浏览器吗

谢谢

请尝试以下代码():

注意,许可证是MPL 1.1/GPL 2.0/LGPL 2.1

function getLoadContext(aRequest) {
    try {
        // first try the notification callbacks
        var loadContext = aRequest.QueryInterface(Ci.nsIChannel)
            .notificationCallbacks.getInterface(Ci.nsILoadContext);
        return loadContext;
    } catch (ex) {
        // fail over to trying the load group
        try {
            if (!aRequest.loadGroup) return null;

            var loadContext = aRequest.loadGroup.notificationCallbacks.getInterface(Ci.nsILoadContext);
            return loadContext;
        } catch (ex) {
            return null;
        }
    }
}