javascript - 检测添加到文档的动态脚本
问题描述
我试图检测任何时候将脚本添加到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);
}
}
解决方案
推荐阅读
- html - 如何使用自定义 .png-Images 而不是 mat-icons 作为按钮?
- c++ - 有没有办法在参数化构造函数中输入 10 个学生的详细信息,并在 c++ 中使用带有对象数组的成员函数打印它
- excel - 脚本字典性能损失的变体
- reactjs - 如何在反应中使用带有 className 的状态信息?
- javascript - hasOwnProperty 返回 false 但是似乎有属性的对象?
- python - 如何使用 pandas 从我的电影数据框中获取美国排名前 5 的电影类型
- mysql - VB.NET mysqldatareader 漏掉第一行
- python - 用于在 raspberry Pi 上显示的 Python 脚本,while true 会在一段时间后停止
- android - Kotlin 冲突声明:val sinAngle: Float, val sinAngle: Float
- python - 具有 fasttext 词嵌入的 Keras 模型