2014-09-28 83 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