Ich versuche, eine Erweiterung zu machen, als Teil, dass bestimmte Wörter in den Webseiten hervorgehoben werden sollen. Die Datei document.body.innerHTML.replace() ersetzt die URL ebenfalls in der Adressleiste. In dem Moment, in dem dieser Code ausgeführt wird, wird die Seite nicht korrekt geladen. Gibt es einen Weg um dieses Problem zu umgehen?Die document.body.innerHTML.replace() ersetzt die URL in der Adresszeile
onPageLoad: function(aEvent) {
var doc = aEvent.originalTarget;
var str="the";
var regex;
var regex = new RegExp(str, "g");
doc.body.innerHTML = doc.body.innerHTML.replace(regex,'<b>'+str+'</b>');
}
Der Zuhörer registriert ist, wie in einem browser.xul Overlay folgt:
window.addEventListener("load", function() {
myExtension.init();
}, false);
var myExtension = {
init: function() {
var appcontent = document.getElementById("appcontent"); // browser
if(appcontent)
appcontent.addEventListener("DOMContentLoaded", myExtension.onPageLoad, false);
},
Wo zu tun geschieht Ist der Event-Handler an? –
Dies könnte relevant sein, nicht sicher: "Aktuelle Firefox-Stammnachtschriften werden die onPageLoad-Funktion nicht nur für Dokumente, sondern auch für xul: images (Favicons im Tabbrowser) auslösen. Wenn Sie nur Dokumente bearbeiten möchten, stellen Sie sicher" aEvent.originalTarget.nodeName = = "#document" '" von https://developer.mozilla.org/en/Code_snippets/On_page_load – MatrixFrog
window.addEventListener ("laden", function() {myExtension.init();}, false); var myExtension = { init: funktion() { var appcontent = document.getElementById ("appcontent"); // browser if (appcontent) appcontent.addEventListener ("DOMContentLoaded", myExtension.onPageLoad, false); }, – divya