On Page Load
From MozillaZine Knowledge Base
This page is for people who want to have their code executed each time a new page is loaded in browser/mail.
You need to create an overlay to chrome://browser/content/browser.xul (Firefox), chrome://navigator/content/navigator.xul (browser - Mozilla Suite) or chrome://messenger/content/messenger.xul (Thunderbird and Mozilla Mail) and add a load event listener to appcontent element (browsers) or messagepane (mail):
window.addEventListener('load', onInit, false); function onInit() { var appcontent = document.getElementById("appcontent"); // browser if(appcontent) appcontent.addEventListener("load", onPageLoad, true); var messagepane = document.getElementById("messagepane"); // mail if(messagepane) messagepane.addEventListener("load", onPageLoad, true); } function onPageLoad(aEvent) { var doc = aEvent.originalTarget; // doc is document that triggered "onload" event // do something with the loaded page. // doc.location is a Location object (see below for a link). // You can use it to make your code executed on certain pages only. if(doc.location.href.search("forum") > -1) alert("a forum page is loaded"); }
Of course, you need to use unique identifiers instead of generic onInit and onPageLoad.
See cdn's URIid extension for a working example.