我不知道为什么会这样,我认为这是不可能的,或者至少是非常困难的。
这是代码:
function clonar (obj) {
var clonado = obj;
return obj;
}
var getter = clonar(document.getElementById);
var getting = clonar(getter)
document.__proto__.getElementById = function (element) {
return getting(element);
};
document.getElementById('wz-notification');
执行此脚本时,我得到TypeError: Illegal invocation
。我不知道为什么会失败,这是造成这个错误的原因。至少,在Chrome中,控制台并没有告诉我什么是失败的。我认为问题是在新函数中调用来自getElementById
的本机函数代码,该函数覆盖本机函数getElementById
。
谢谢你的进步!