2014-09-28 80 views
-1

如果我在IFRAME中具有「src」屬性,則更改爲「onload」函數未執行。它只在第一次調用時才起作用。IFRAME中的SRC屬性隨onload函數改變

的JavaScript:

function dialog() { 
    document.getElementById('result').src = "myurl"; 
} 

function loading() { 
    document.getElementById('loading').style.display = "none"; 
    document.getElementById('result').style.display = "block"; 
} 

HTML:

<div id="loading"><img src="loading.gif"/></div> 
<iframe style="display:none;" id="result" onload="loading();" src="myurl"/></iframe> 

謝謝!

+0

http://stackoverflow.com/questions/1524639/how-to-trigger-onload-event-when-downloading-a-file-in-an-iframe – mplungjan 2014-09-28 20:01:21

+0

我抓的問題是在框架內部和外部src屬性。 – 2014-09-28 20:03:12

回答

0

您的頁面域和iframe域是否相同?如果它們不同,則可以使用CORS訪問iframe事件。


編輯

<script> 

    function dialog() { 
     document.getElementById('result').src = "http://jsfiddle.net"; 
    } 
    function loading() { 
     alert('Loading finished'); 
     document.getElementById('loading').style.display = "none"; 
     document.getElementById('result').style.display = "block"; 
    } 

</script> 

<div id="loading">Loading</div> 
<iframe style="display:none;" id="result" onload="loading();" src="http://jsfiddle.net"/> 

它的工作原理,現場演示 - http://jsfiddle.net/xf2LgLsg/ 我相信你的HTML後寫JS,所以這可能是一個問題。

+0

是的,它是同一個域。我更改了iframe和Outside內的SRC屬性。 – 2014-09-28 20:05:47

+0

用經過測試的解決方案編輯我的答案。 – MaximOrlovsky 2014-09-28 20:29:00

+0

並將函數對話框()更改爲對話框(參數)。不工作! – 2014-09-28 20:43:34