我已经探索了 getter/setter 的工作原理......
document.body.innerHTML = 'This will change the site';
Object.defineProperty(document.body, 'innerHTML', {
get: function(){
console.log('[FAKED] document.innerHTML');
return false;
},
set: function(val){
console.log('[FAKED] document.innerHTML = '+val);
return false;
}
});
alert(document.body.innerHTML); // false
如果浏览器不支持 innerHTML 或者您想为<progress>
. 但是,如果您足够愚蠢地执行此代码。你怎么能把它恢复到以前的样子?