2014-09-28 2 views
-1

Если у меня есть атрибуты «src» при изменении IFRAME, функция «onload» не выполняется. Он работает ТОЛЬКО при первом вызове.Атрибуты SRC при изменении IFRAME с функцией 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

+0

Проблема, с которой я сталкиваюсь, находится внутри и снаружи кадра src атрибутов. –

ответ

0

Имеет ли домен вашей страницы и домен iframe то же самое? Если они разные, вы можете использовать CORS для доступа к событиям iframe.


EDIT

<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/ Я считаю, что вы пишете JS после HTML, так что это может быть проблемой.

+0

Да, это тот же домен. Я изменяю атрибут SRC в пределах iframe и Outside. –

+0

Отредактированный мой ответ с проверенным решением. – MaximOrlovsky

+0

и смените функцию dialog() на диалог (params). Не работает! –

Смежные вопросы