【发布时间】:2016-12-01 21:30:49
【问题描述】:
我在一个网站上有这段代码:
<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' 正在加载数据,有没有办法在代码中预知/检测?
编辑 04/12/2016
感谢 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);
【问题讨论】:
-
您能否举例说明外部脚本可能会产生什么结果?
-
您可以编辑提取器代码吗?从获取请求中监视或抛出事件,并根据请求的状态/结果填充第二个 div 是最简单的,而不是试图让第二个 div 对第一个 div 的内容做出反应。
-
嗨 ScottMarcus 和 TheJim01。 div 'test' 代码与support.pencidesign.com/forums/topic/inserting-video-on-post中显示的选项 3 非常相似
标签: javascript external cdata