appendChild = function(message) {
console.log("intercepted!");
}
utilizzando il codice sopra non sembra funzionare.come sovrascrivere appendChild()?
Qualcuno sa?
appendChild = function(message) {
console.log("intercepted!");
}
utilizzando il codice sopra non sembra funzionare.come sovrascrivere appendChild()?
Qualcuno sa?
Quello che si potrebbe voler sostituire è Element.prototype.appendChild
ma probabilmente è una cattiva idea.
questo esempio viene aggiunto il testo intercepted
nell'elemento inserito:
var f = Element.prototype.appendChild;
Element.prototype.appendChild = function(){f.apply(this, arguments);arguments[0].innerHTML="!Intercepted!"; };
document.body.appendChild(document.createElement("div"));
grazie, accetterò la tua risposta tra 8 minuti. – RedHotScalability
È mal consigliato per sovrascrivere funzioni native, ma se lo si fa di assicurarsi che ritorni l'elemento aggiunto come bene per evitare problemi con il codice che utilizza il valore restituito della funzione nativa "appendChild":
window.callbackFunc = function(elem, args) {
// write some logic here
}
window.f = Element.prototype.appendChild;
Element.prototype.appendChild = function() {
window.callbackFunc.call(this, arguments);
return window.f.apply(this, arguments);
};
+1 Grande domanda; Ho imparato qualcosa di nuovo. – Plynx
perché sto scrivendo una tesi di master sul bookmarklet, ora ho bisogno di descrivere i suoi punti deboli e come i rouge possono sfruttarlo. – RedHotScalability