ゲッター/セッターがどのように機能するかを調べました...
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>
. ただし、このコードを実行するほど愚かな場合は。どうすれば以前の状態に戻すことができますか?