我为最新的 Chrome 浏览器编写了一个用户脚本。加载后脚本似乎无法获取页面的更改内容(例如,在页面加载后,我单击了¿sth?并弹出了一个嵌入式窗口)。
即使我使用window.setTimeout()
了,我仍然无法通过定时器回调获取更新的内容document.getElementById()
。我检查了页面,发现弹出元素存在于 DOM 中。
这是用户脚本的限制吗?或者可以使用其他一些方法来获取用户脚本中的更新?
更新:
我按照建议尝试DOMSubtreemodified
了活动。但行为仍然很奇怪。
我只在 my.safaribooksonline.com 的用户脚本中添加了一行 JavaScript,
document.addEventListener("DOMSubtreeModified", function () {
alert(eval('typeof OpenSignInPopup')); });
但是警报框显示“未定义”作为OpenSignInPopup
. 但是我可以同时在同一页面的脚本控制台中运行警报语句,并将结果显示为“函数”。
最初运行用户脚本时未加载此函数。那么如何在用户脚本中使用它呢?