J'écris une extension Firefox. L'extension remplace certains mots de la page par d'autres mots. Voici le code de base que j'utilise:Mise à jour de la page HTML provoque une boucle sans fin
function startup() {
gBrowser.addEventListener("load", pageLoad, true);
}
function pageLoad(event) {
if (event.originalTarget instanceof HTMLDocument) {
var ht = content.document.body.innerHTML;
ht = ht.replace(/\bthe\b/g,"el");
content.document.body.innerHTML = ht;
}
}
Le problème est que ce code provoque une boucle sans fin. Lorsque je définis la propriété innerHTML du corps, il envoie un autre événement de chargement, ce qui provoque la boucle sans fin. Comment puis-je modifier la page lorsqu'elle se charge sans que l'événement de chargement de page ne se déclenche à nouveau?