[JavaScript] Как дождаться загрузки документа.

mr82

Как дождаться загрузки документа, а потом выполнять какие-то действия, например вызывать функции?
ИЛИ
Как дождаться загрузки изображения?

Moskay

<body onload='my_function;'>

mr82

Не, onLoad вызывается сразе после открытия документа. Этот обработчик не дожидается загрузки картинок.

mr82

Кто-нибудь может достойно обьяснить, как работает такая вот конструкция.


<SCRIPT event=onload for=window>
...my code....
</SCRIPT>

bansek

rtfm onLoad вызывается после _окончательной_ загрузки содержимого страницы, в т.ч. картинок.
Тот пример кода, что ты привел, подписывается на этот самый onLoad.

mr82

Да, но вот в случае:


<script>
documend.onload=MyFunc;
</script>


Происходит лажа. Точнее, код происходит до загрузки картинок. Вот меня и нитересует в чём разнича, между этим кодом и прошлым.

bansek

http://msdn.microsoft.com/workshop/author/dhtml/reference/events/onload.asp

<HTML>
<HEAD>
<TITLE>Popup Example</TITLE>
<SCRIPT LANGUAGE="JScript">
function l { alert('loaded'); }
window.onload = l;
</SCRIPT>
</HEAD>
<BODY>
<img src='http://www.riskman.ru/files/Pic/p004'>
</BODY>
</HTML>

stm7481822

Вызов своих функций поставь в конец документа, после </HTML>
Тогда сначала загрузится весь документ, а потом исполнится тот скрипт, который ты поставишь в самый конец.

mr82

У меня так и было. Всё равно сначало исполнялся код, а потом грузилась картинка.

mr82

Я не понял, это должен быть правильный вариант?

dedwowan

Это доказательство, что событие onload происходит после загрузки картинок

dedwowan

У меня так и было. Всё равно сначало исполнялся код, а потом грузилась картинка.

А картинка случаем не в фрейме каком-нибудь? Или ее сырцы могут скриптом клиентским подсасываться.

bansek

Да. Один из.

bansek

После того, как выполнился весь хтмл код, абсолютно не факт, что контент уже загрузился. Если у меня там полутаромегабайтный апплет, то выполняя код после </html> я ничего не добьюсь. Именно на этот случай и существуют события onload, ко-ые можно воткнуть, как в body, так и в саму картинку/апплет.

mr82

onload я в картинку как-то пихать не пробовал, а нашёл другой вариант.
У обьекта image есть булево свойство complite, которое извещает о загрузке фотографии.
Дальше всё очевидно. Но для меня, все-таки, остаётся загадкой спецификация кода:


<SCRIPT event=onload for=window> ...my code....</SCRIPT>


Всё таки что занчит event for. Т.к. это не то же самое что


window.onload;


?

psm-home

Открой для себя MSDN: onload Event .

mr82

Спасибо!
Оставить комментарий
Имя или ник:
Комментарий: