Javascript 如何重写appendChild()?

Javascript 如何重写appendChild()?,javascript,dom,overriding,Javascript,Dom,Overriding,使用上面的代码似乎不起作用 有人知道吗?您可能想要替换的是元素.prototype.appendChild,但这可能是个坏主意 此示例在插入的元素中添加截获的文本: appendChild = function(message) { console.log("intercepted!"); } 覆盖本机函数是不明智的,但如果覆盖本机函数,请确保同时返回附加元素,以防止使用本机“appendChild”函数返回值的代码出现问题: var f = Element.prototype.app

使用上面的代码似乎不起作用


有人知道吗?

您可能想要替换的是
元素.prototype.appendChild
,但这可能是个坏主意

此示例在插入的元素中添加截获的文本

appendChild = function(message) {
    console.log("intercepted!");
}

覆盖本机函数是不明智的,但如果覆盖本机函数,请确保同时返回附加元素,以防止使用本机“appendChild”函数返回值的代码出现问题:

var f = Element.prototype.appendChild;
Element.prototype.appendChild = function(){f.apply(this, arguments);arguments[0].innerHTML="!Intercepted!"; };
document.body.appendChild(document.createElement("div"));

+一个大问题;我学到了一些新东西。因为我正在写关于bookmarklet的硕士论文,现在我需要描述它的弱点,以及胭脂如何利用它。
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);
};