Как использовать onload даже iframe программно с js? - PullRequest
0 голосов
/ 13 мая 2011

У меня есть этот iframe, который я создаю с помощью js, это код, который у меня есть:

<script>
function loadIframe(url) {
    ifr = document.createElement("IFRAME");
    ifr.setAttribute("src", url);
    ifr.style.width = "800px";
    ifr.style.height = "600px";
    document.body.appendChild(ifr);
    ifr.onload = ready();
} 

function ready() { alert("ready") };

window.onload = function () {
    loadIframe("http://www.wallpaperpimper.com/wallpaper/Landscape/Ocean/Big-wave-1-S79KZQKBWP-1600x1200.jpg");
}
</script>

iframe создается, но функция ready () срабатывает до того, как iframe загружает контент, что я в основном хочу сделать:

<iframe onload="ready()" src="http://www.wallpaperpimper.com/wallpaper/Landscape/Ocean/Big-wave-1-S79KZQKBWP-1600x1200.jpg"></iframe>

Это отлично работает, функция ready () запускается после загрузки содержимого iframe, но я хочу сделать все это из js.

Я не могу использовать onload внутри тела на страницах, загруженных в iframe, потому что они мне не принадлежат.

Как установить событие onload?

1 Ответ

0 голосов
/ 21 ноября 2013

Делая это:

ifr.onload = ready();

Вы выполняете функцию ready и присваиваете результаты для irf.onload вместо назначения ссылки на функцию ready для свойства onload.Так что я думаю, что вы хотели сделать:

ifr.onload = ready;

Итак, присваивая ссылку на функцию ready свойству onload вместо его выполнения.

...