我想知道如何通过JavaScript拦截DOM访问。是否有任何可用的工具或白皮书? (否则,我将需要写一个!)

拦截背后的想法与Web浏览器的安全模块有关。

谢谢。

最佳答案

最好的办法是使用DOM mutation events。有各种事件,例如DOMNodeInsertedDOMNodeRemovedDOMAttrModified等(请参阅上面链接的DOM事件规范)。有一个称为DOMSubtreeModified的通用事件,会在任何单个DOM突变后触发;此事件冒泡,因此您可以在文档上设置一个侦听器,以通知该文档DOM的所有更改。

document.addEventListener("DOMSubtreeModified", function(evt) {
    console.log("DOM mutation", evt);
}, false);


这些事件在最新的浏览器中受支持,但IE(8版及更高版本)和Opera除外,后者支持某些evenbts,但明显不支持DOMSubtreeModified

08-25 11:15