承诺后发生火灾

时间:2019-06-15 10:07:13

标签: javascript reactjs ecmascript-6 es6-promise

我有一个像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创建的,并触发了一个事件。

1 个答案:

答案 0 :(得分:0)

据我所知,无法追踪React应用程序中发生的承诺

但是,现代浏览器的确具有突变观察者api developer.mozilla.org/en-US/docs/Web/API/MutationObserver,可用于检测react应用对DOM所做的更改