如何检查脚本是否正在加载外部数据?

时间:2016-12-01 21:30:50

标签: javascript external cdata

我在网站上有这段代码:

<div id="test">
  <script type="text/javascript">
    /*<![CDATA[*/
    parameter1 = 'whatever1';
    parameter2 = 'whatever2';
    parameter3 = 'whatever3';
    etc.
    /*]]>*/
  </script>
  <script src='external js file'></script>
</div>

此代码用于从外部源加载该站点中的图像。当他们(无论他们是谁)正确配置外部源时,div'test'将显示图像。如果没有,div将为空白。

好的,现在让我们假设该网站中的另一个div必须显示某个内容,具体取决于图像是否已加载,如果不加载,则显示不同的内容。

外部来源不可访问/可编辑,因此不知道他们(无论他们是谁)是否正在为要加载的图像发送数据。

那么,如果div'test'正在加载数据,有没有办法在代码中预知/检测?

编辑2016年12月12日

最后我使用了这个,感谢cFreed建议:

var target = document.getElementById('test');
var observer = new MutationObserver(function(mutations) {
  mutations.forEach(function(mutation) {
    //stuff;
  });    
});
var config = { attributes: true, childList: true, characterData: true };
observer.observe(target, config);

1 个答案:

答案 0 :(得分:1)

您可以使用MutationObserver

这是一个非常简单的应用程序。

[[Prototype]]