我試圖操縱我的擴展和jQuery的頁面的HTML。Firefox擴展訪問DOM(使用jQuery)
在這個簡單的測試,我想先加載jQuery和然後替換所有h1
的爲‘Hello’,像這樣:$("h1").html("Hello");
看到這個的jsfiddle:http://jsfiddle.net/37vxJ/(減去jQuery的一部分:)
var myExtension = {
init: function() {
// The event can be DOMContentLoaded, pageshow, pagehide, load or unload.
if(gBrowser) gBrowser.addEventListener("DOMContentLoaded", this.onPageLoad, false);
},
onPageLoad: function(aEvent) {
var doc = aEvent.originalTarget; // doc is document that triggered the event
setTimeout(function(){
//alert("page is loaded \n" +doc.location.href);
$("h1").html("Hello");
}, 1000);
}
}
window.addEventListener("load", function load(event) {
//remove listener, no longer needed
window.removeEventListener("load", load, false);
myExtension.init();
},false);
我該如何做這項工作?
如果我取消://alert("page is loaded \n" +doc.location.href);
擴展將打印出URL(1秒後)
'DOMContentLoaded'是窗口對象的onload事件之前觸發。現在不知道你在找什麼,但檢查是否符合你的需求:http://jsfiddle.net/37vxJ/1/ –