Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Detect when page loaded with firefox extension

How to detect when a page is loaded (in any tab) with a firefox extension (automatically, no start-button or anything) (and display an alert message for example) ?

like image 971
user Avatar asked Jan 31 '26 10:01

user


2 Answers

https://developer.mozilla.org/en/Code_snippets/On_page_load

Dont miss this part: "

Current Firefox trunk nightlies will fire the onPageLoad function for not only documents, but xul:images (favicons in tabbrowser). If you only want to handle documents, ensure aEvent.originalTarget.nodeName == "#document" 1.

"

like image 78
palindrom Avatar answered Feb 03 '26 05:02

palindrom


function startup() {

mainWindow = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
                         .getInterface(Components.interfaces.nsIWebNavigation)
                         .QueryInterface(Components.interfaces.nsIDocShellTreeItem)
                         .rootTreeItem
                         .QueryInterface(Components.interfaces.nsIInterfaceRequestor)
                         .getInterface(Components.interfaces.nsIDOMWindow); 

    mainWindow.getBrowser().addEventListener("load", listener, false);


    // Sidebar is loaded and mainwindow is ready                   
    }

    var listener = function(e){
        alert("Hai");
        //To remove event listener
        //mainWindow.getBrowser().removeEventListener("load",listener, false);
    }  


window.addEventListener("load", startup, false);

This is code is enough for this purpose.

Though this is late, I'm answering this question to minimize the search time.

like image 37
Vinothkumar Arputharaj Avatar answered Feb 03 '26 05:02

Vinothkumar Arputharaj