元素影响了 JavaScript 等效项

Elements affected JavaScript equivalent

本文关键字:JavaScript 影响 元素      更新时间:2023-09-26

我想要一个JavaScript解决方案来测量一段时间内受影响的DOM节点的数量。我正在寻找的解决方案与Chrome工具栏中受影响的元素属性非常相似。
由于我想在应用程序投入生产时测量此客户端,因此无法使用 Chrome 工具栏。
我已经尝试过document.getElementsByTagName("*").length但这只能给我当前的金额。
因此,如果我删除 2 个元素并添加 3 个元素,它会说 1 个节点受到影响,而实际上有 5 个。
有什么想法/技巧吗?

目前在 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 更改,并将在元素属性更改和结构更改时触发。 规范草案包含有效突变属性的完整列表。