有一个对话框,我定义了一个函数OnAccept()
并将其称为:ondialogaccept:ondialogaccept="OnAccept()"
。
OnAccept():
function OnAccept() {
var windowManager = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService();
var windowManagerInterface = windowManager.QueryInterface( Components.interfaces.nsIWindowMediator );
var topWindow = windowManagerInterface.getMostRecentWindow( "navigator:browser" );
if(topWindow)
{
var web = topWindow.document.getElementById("content");
web.selectedTab = web.addTab("http://www.google.com");
var newBrowserHandle = web.getBrowserForTab(web.selectedTab);
newBrowserHandle.addEventListener("load", function() { alert("111"); }, true);
}
}
但addEventListener
不起作用。我不知道为什么。
答案 0 :(得分:0)
您的代码中存在一些问题,可能只是错误的复制和粘贴:ondialogaccept:ondialogaccept="OnAccept()"
应该是ondialogaccept="OnAccept()"
而OnAccept():
应该是OnAccept:
(没有括号)。< / p>
主要问题:load
事件侦听器未从内容传播到chrome,您需要progress listeners才能获得该事件。您可以收听DOMContentLoaded
事件,但可以在浏览器元素上捕获该事件。只加载文档内容时会触发此事件,而不是图像等 - 但也许这对你没用。