我想知道如何通过 JavaScript 拦截 DOM 访问。是否有任何可用的工具或白皮书? (否则我需要写一个!)
拦截背后的想法与网络浏览器的安全模块有关。
谢谢。
最佳答案
你能做的最好的就是使用 DOM mutation events .有各种事件,例如 DOMNodeInserted
、DOMNodeRemoved
、DOMAttrModified
等(请参阅上面链接的 DOM 事件规范)。有一个名为 DOMSubtreeModified
的通用事件,它会在任何单个 DOM 更改后触发;此事件冒泡,因此您可以在文档上设置一个监听器,以通知文档 DOM 的所有更改。
document.addEventListener("DOMSubtreeModified", function(evt) {
console.log("DOM mutation", evt);
}, false);
大多数最新的浏览器都支持这些事件,但 IE(最高版本 8)和 Opera 除外,它们支持一些 eventbts,但特别是不支持 DOMSubtreeModified
。
关于javascript - 通过 JavaScript 拦截对 DOM 的访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3633025/