我不知道为什么会这样,我认为这是不可能的,或者至少非常困难。
这是代码:
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
。
谢谢提前!