как поставить обработчик события на загрузку страницы?
Без jQuery и других библиотек.
Без прописки в теге body onload='iniit()' -------- Вот мой пробный пример до тега body: wait=function(f, t, th, reg) { var osi={}; if(!th)th=null; var fi=function(){ if(f.call(th,reg)) { clearInterval(osi.si); }; }; osi.si=setInterval(fi,t); }; wait(function(){var b=document.getElementsByTagName('BODY')[0]; if(b){setTimeout(init,0);return true;};return false;},10); Однако я сомневаюсь, что как только станет доступно document.getElementsByTagName('BODY')[0], то это и будет означать, что событие onload уже прошло. Так ли это? Если нет, то как САБЖ? ps. И такой вопрос: обязательно ли событие onload страницы наступает позже чем может быть получен iframe.contentDocument или iframe.contentWindow.document пустого iframe находящегося на страницы? |
Есть такая, очень маленькая либа https://github.com/ded/domready
|
|
Цитата:
Нужно проверять наличие соответствующих методов, тогда все будет ок ;) |
методы тоже иногда меняются:)
ну а вообще согласен, я не давал готового решения я привёл только пример. |
Спасибо, Skipp, и Starkua, понял что код в обоих случаях не совсем простой из за кроссбраузерности.
ready.js от Starkua, как то для меня странно закодировано, без комментариев, боюсь даже использовать. |
http://javascript.ru/unsorted/top-10...ions#9-onready
Или тупо window.onload и не выё*.) |
mister_maxim, советую научиться пользоваться гитхабом - там очень много нужных либ. По моей ссылке есть и минифицированная и нормальные версии. Вот читабельная https://github.com/ded/domready/blob/master/ready.js
|
Часовой пояс GMT +3, время: 19:10. |