我有一个像webproxy一样的项目。使用它来更改其他站点。 (这部分很重要,我只能注入javascript代码,但不能更改网站本身的代码。)
我正在尝试修改React中创建的网站,但我做不到。该网站通过api和promises获取内容。所以我有问题:
如果我使用:
window.addEventListener('DOMContentLoaded', function () {
document.getElementsByClassName ('content-class')[0].innerHTML="New Content";
});
内容尚不存在并且无法正常工作
如果我使用:
window.onload = function() {
document.getElementsByClassName ('content-class')[0].innerHTML="New Content";
}
在内容出现一段时间后,它就会起作用。
我尝试过
var content = document.getElementsByClassName('content-class')[0];
content.addEventListener ('load', function() {
document.getElementsByClassName('content-class')[0].innerHTML="New Content";
});
也不成功
我该如何解决?在所有的诺言完成之后,有什么方法可以触发事件吗?
或者检测到该元素是由promise创建的,并触发了一个事件。
答案 0 :(得分:0)
据我所知,无法追踪React应用程序中发生的承诺
但是,现代浏览器的确具有突变观察者api developer.mozilla.org/en-US/docs/Web/API/MutationObserver,可用于检测react应用对DOM所做的更改