首页 > 解决方案 > 检测添加到文档的动态脚本

问题描述

我试图检测任何时候将脚本添加到document. 我试过使用MutationObserver,但它不起作用。任何想法?

这是代码:

const observer = new MutationObserver((mutations) => {
  iterate(mutations, mutation => {
    iterate(mutation.addedNodes, node => {
      if (node instanceof HTMLScriptElement) alert('script :\n' + node.innerHTML);
    });
  });
});
    
observer.observe(document.documentElement, {
  subtrees : true,
  childList : true
});
    

编辑 :

iterate功能:

function iterate (object, oniteration, ondone = () => {}) {
  if (object.length) {
    for (let i = 0, l = object.length; i < l; i++) {
      oniteration(object[i], object);
    }
    ondone(object);
  }
}

标签: javascriptdom-events

解决方案


推荐阅读