Javascript Firefox插件:从XMLHttpRequest获取选项卡
我正在尝试使用以下代码将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
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;
}
}
}