如何在 JavaScript 中为嵌套脚本标记追加注册回调

How do I register a callback for nested script tag appends in JavaScript

本文关键字:追加 注册 回调 脚本 嵌套 JavaScript      更新时间:2023-09-26

我正在尝试破解第三方JavaScript弹出窗口,我需要以某种方式注册一个回调,以便在加载后可以采取行动。我的页面上的代码如下所示:

document.write('<' + 'script type="text/javascript"
  src="https://www.notmydomain.com/include.js"><'/script>');

include.js 的源如下所示:

document.write('<' + 'script type="text/javascript" 
  src="https://www.notmydomain.com/anotherinclude.js?id=uniqueidicantreplicate"><'/script>');

另一个包括.js向 DOM 编写了一些新的div,我想与它们进行交互。

我没有在我的域中提供任何.js文件,我无法控制它们的内容,它们的内容可能偶尔会更改,并且 js 中有一些唯一标识符在每次下载文件时都会更改,我无法欺骗。

如何注册回调,以便在加载新的 DOM 元素时可以执行操作?

好吧,DOM2 和 DOM4 提供了一些工具来监听树的变化,您可以使用这些工具,但浏览器支持不一致。具体来说,我说的是MutationEvent(DOM2)和MutationObserver (DOM4)接口。除了有限的浏览器支持外,您还需要注意MutationEvent的性能问题。