【发布时间】:2021-11-26 11:49:56
【问题描述】:
我想知道 JavaScript 中是否有任何方法可以检测是否从外部 JS 文件创建了任何节点(Html 元素)。 例如,很多时候我们使用脚本标记使用外部 js 文件,然后该脚本在我们的页面上创建一些元素(例如聊天机器人和 ifrmae)我想检测是否有任何 html 节点是使用外部 js 文件或我们的内部或自我创建的托管的 js 文件。
【问题讨论】:
-
除非创建的元素具有由外部脚本添加的特定属性(或缺少添加到原始文档上所有元素的属性)。
-
如果某个库向 DOM 添加了一个元素,它可能有一个类。你可以检查那个类名是什么并用这个搜索它:HTML DOM getElementsByClassName() Method
-
@Jesper 可能有多个脚本,它们可以创建具有任何类或其他属性的元素
-
您可以使用Mutation Observer 执行此操作。我在下面举了一个例子。值得一提的是,在复杂的页面上,这可能是一项相当昂贵的操作。
标签: javascript html web browser frontend