I am making a Firefox add-on for which I need to add a pageload event listener.
Here is my javascript code:
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;
}
}
The toolbar elements are enabled after the google webpage is opened. Everything works just fine, except that the browser hangs after loading the page.
Please tell me how to fix this. I have searched a lot but I can’t find anyone having the same problem.
Thank you.
Maybe this page can help you: https://developer.mozilla.org/en/Code_snippets/On_page_load (simpler) or this page: https://developer.mozilla.org/en/Code_snippets/Progress_Listeners (more complicated, but I prefer it if you don’t need to inspect the page contents).