e10s-我想从nsIObserver nsIHttpChannel nsIDOMWindow nsIDOMDocument获取。我怎么做?
e10s-我想从nsIObserver nsIHttpChannel nsIDOMWindow nsIDOMDocument获取。我怎么做?,e10s,E10s,我的插件在FF41上工作。现在我想在E10上迁移。使用Firefox开发者版v43。 示例观察者(c++)。 示例JS助手 频道\u GetownerWindows: function( objChannel ) // This option does not worked in v43[e10s]; <br> { try { var notificationCallbacks = objChannel.QueryInterface(Comp
我的插件在FF41上工作。现在我想在E10上迁移。使用Firefox开发者版v43。
示例观察者(c++)。
示例JS助手 频道\u GetownerWindows:
function( objChannel ) // This option does not worked in v43[e10s]; <br>
{
try
{
var notificationCallbacks = objChannel.QueryInterface(Components.interfaces.nsIHttpChannel).notificationCallbacks;
if ( !notificationCallbacks )
{
var loadGroup = objChannel.QueryInterface(Components.interfaces.nsIRequest).loadGroup.notificationCallbacks;
if ( loadGroup ) notificationCallbacks = loadGroup.notificationCallbacks;
}
if ( notificationCallbacks )
{
return notificationCallbacks.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
.getInterface(Components.interfaces.nsIDOMWindow)
.QueryInterface(Components.interfaces.nsISupports);
}
}
catch ( err )
{
this.ErrorOut( err );
}
return null;
}
function( objChannel )
{
try
{
return objChannel.QueryInterface(Components.interfaces.nsIHttpChannel)
.notificationCallbacks
.getInterface(Components.interfaces.nsILoadContext)
.topFrameElement
.QueryInterface(Components.interfaces.nsISupports);
}
catch ( err )
{
this.ErrorOut( err );
}
return null;
}
是错误-没有接口….频道\u GetownerWindows:
function( objChannel ) // This option does not worked in v43[e10s]; <br>
{
try
{
var notificationCallbacks = objChannel.QueryInterface(Components.interfaces.nsIHttpChannel).notificationCallbacks;
if ( !notificationCallbacks )
{
var loadGroup = objChannel.QueryInterface(Components.interfaces.nsIRequest).loadGroup.notificationCallbacks;
if ( loadGroup ) notificationCallbacks = loadGroup.notificationCallbacks;
}
if ( notificationCallbacks )
{
return notificationCallbacks.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
.getInterface(Components.interfaces.nsIDOMWindow)
.QueryInterface(Components.interfaces.nsISupports);
}
}
catch ( err )
{
this.ErrorOut( err );
}
return null;
}
function( objChannel )
{
try
{
return objChannel.QueryInterface(Components.interfaces.nsIHttpChannel)
.notificationCallbacks
.getInterface(Components.interfaces.nsILoadContext)
.topFrameElement
.QueryInterface(Components.interfaces.nsISupports);
}
catch ( err )
{
this.ErrorOut( err );
}
return null;
}
请帮我解决这个问题。谢谢。
已解决
var browser = objChannel.QueryInterface(Components.interfaces.nsIHttpChannel)
.notificationCallbacks
.getInterface(Components.interfaces.nsILoadContext).topFrameElement;
var window = browser.contentWindow.QueryInterface(Components.interfaces.nsISupports);
请格式化您的代码。每行需要四个空格来表示它是代码。将代码格式化为代码,删除了不需要的
,修复了非结束粗体