添加load事件监听器使Firefox挂起

时间:2011-02-21 12:08:54

标签: javascript firefox firefox-addon pageload event-listener

我正在制作一个Firefox附加组件,我需要添加一个页面加载事件监听器。 这是我的javascript代码:

window.addEventListener("load", function () {
  gBrowser.addEventListener("load", pageLoaded, true);
}, false);

function pageLoaded() {
  var currentWindow = Components.classes["@mozilla.org/appshell/window-mediator;1"]
                                .getService(Components.interfaces.nsIWindowMediator)
                                .getMostRecentWindow("navigator:browser");
  var currBrowser = currentWindow.getBrowser();
  var currURL = currBrowser.currentURI.spec;
  if (currURL == "http://www.google.com.pk/") {
    //enable all buttons
    document.getElementById('add-onButton1').disabled = false;
    document.getElementById('add-onButton2').disabled = false;
    document.getElementById('pri_label').disabled = false;
    document.getElementById('pri_key').disabled = false;
    document.getElementById('pub_label').disabled = false;
    document.getElementById('pub_key').disabled = false;
  }
}

在打开Goog​​le网页后启用工具栏元素。一切正常,除了浏览器在加载页面后挂起。

请告诉我如何解决这个问题。我搜索了很多,但我发现没有人遇到同样的问题。 谢谢。

1 个答案:

答案 0 :(得分:0)

也许这个页面可以帮助您:https://developer.mozilla.org/en/Code_snippets/On_page_load(更简单)或此页面:https://developer.mozilla.org/en/Code_snippets/Progress_Listeners(更复杂,但如果您不需要检查页面内容,我更喜欢它。)