2009-06-19 12 views

答えて

1

これは、本質的に楽しみを持っている

2

mozillaのサイトから

window.addEventListener("load", function() { myExtension.init(); }, false); 

var myExtension = { 

    init: function() { 
    var appcontent = document.getElementById("appcontent"); 
    if(appcontent) 
     appcontent.addEventListener("DOMContentLoaded", myExtension.onPageLoad, true); 
    }, 

    onPageLoad: function(event) { 
     var doc = event.originalTarget; 
     var myDiv = doc.getElementById("myDiv"); 
     //do something interesting with it 
    } 
} 

を取られ、私はこれと同じ疑問を持っていました。私はドキュメンテーションを見つけましたが、Firefox 3.6.12でコードを実行するのに問題がありました。私はいくつかの変更を行い、それが働いて得ることができた:

this._loadHandler = function(event) { 

var myDomain = 'www.yahoo.com'; 

let doc = event.originalTarget; 
//alert(doc.defaultView.location.href); 
if (doc instanceof HTMLDocument) { 

    var re = new RegExp(myDomain); 
    if (doc.defaultView.location.href.match(re)) { 
     alert("Successful match"); 
    } 

}}; 


gBrowser.addEventListener("load", this._loadHandler, true); 

これは、ここでは例から変更されました:https://developer.mozilla.org/en/XUL_School/Intercepting_Page_Loads

HTH

+0

を私はかなり迅速にして、作成されたシンプルなFFプラグインを持って、うわあ、それは捕まえられるようにページの読み込みイベントを取得する方法は不愉快ではありませんでした。私は、なぜこのようなことが直感的ではないように思えるかを知りたがっています。 –

+0

とにかく興味があれば、https://github.com/rkiddy/classy-locator-firefox-extension.gitを参照してください。 –

関連する問題