<iframe>
элементы имеют для этого load
событие .
Как вы слушаете это событие, зависит от вас, но, как правило, лучший способ заключается в следующем:
1) создайте свой iframe программно
Он гарантирует, что ваш load
слушатель всегда вызывается, подключая его до загрузки iframe.
<script>
var iframe = document.createElement('iframe');
iframe.onload = function() { alert('myframe is loaded'); }; // before setting 'src'
iframe.src = '...';
document.body.appendChild(iframe); // add it to wherever you need it in the document
</script>
2) встроенный javascript , это еще один способ, который можно использовать внутри разметки HTML.
<script>
function onMyFrameLoad() {
alert('myframe is loaded');
};
</script>
<iframe id="myframe" src="..." onload="onMyFrameLoad(this)"></iframe>
3) Выможет также прикрепить прослушиватель событий после элемента внутри тега <script>
, но имейте в виду, что в этом случае существует небольшая вероятность того, что iframe уже загружен к тому времени, когда вы добавляетеваш слушатель.Поэтому возможно, что он будет не вызываться (например, если iframe очень очень быстрый или поступает из кэша).
<iframe id="myframe" src="..."></iframe>
<script>
document.getElementById('myframe').onload = function() {
alert('myframe is loaded');
};
</script>
Также см. Мой другой ответ о какие элементы могут также запускать этот тип load
события