我想要一个JavaScript解决方案来测量一段时间内受影响的DOM节点的数量。
我正在寻找的解决方案与Chrome工具栏中的受影响元素属性非常相似
因为我想在我的应用程序投入生产时测量此客户端,所以我无法使用Chrome工具栏
我已经尝试了document.getElementsByTagName("*").length
,但这只给了我当前的金额
因此,如果我要删除2个元素并添加3,则会说1个节点受到影响,实际上有5个
任何想法/黑客?
答案 0 :(得分:1)
目前在Firefox中MutationObserver
实施,在Chrome中以供应商为前缀WebKitMutationObserver
:
MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
var observer = new MutationObserver(function(mutations, observer) {
// fired when a mutation occurs
console.log(mutations, observer);
// ...
});
// define what element should be observed by the observer
// and what types of mutations trigger the callback
observer.observe(document, {
subtree: true,
attributes: true
//...
});
此示例侦听document
及其整个子树上的DOM更改,它将触发元素属性更改以及结构更改。规范草案包含有效mutation properties的完整列表。