我有這樣一段代碼在一個網站:如何檢查腳本是否正在加載外部數據?
<div id="test">
<script type="text/javascript">
/*<![CDATA[*/
parameter1 = 'whatever1';
parameter2 = 'whatever2';
parameter3 = 'whatever3';
etc.
/*]]>*/
</script>
<script src='external js file'></script>
</div>
該代碼被用來從外部源加載在該網站的圖像。當他們(無論他們是誰)正確配置外部源時,div'測試'將顯示圖像。如果不是,div將是空白的。
好吧,現在讓我們假設該網站中的另一個div必須顯示特定的內容(取決於圖像是否加載),如果不是,則顯示不同的內容。
外部信息源不可訪問/可編輯,因此無法確定它們(無論他們是誰)正在爲要加載的圖像發送數據。
那麼,有沒有一種方法可以在代碼中預測/檢測div'test'是否正在加載數據?
編輯2016年4月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);
你能展示一個外部腳本*可能會導致什麼結果的例子嗎? –
你可以編輯fetcher代碼嗎?從獲取請求中監視或拋出事件是最容易的,並根據請求的狀態/結果填充第二個div,而不是試圖讓第二個div對第一個div的內容做出反應。 – TheJim01
嗨ScottMarcus和TheJim01。 div'測試'代碼與http://support.pencidesign.com/forums/topic/inserting-video-on-post/ – b1919676