Jump to content
  • 0

Как заставить скрипт выполняться после загрузки документа?


chebog
 Share

Question

Есть некоторый скрипт, который оперирует с элементами по их id.

Скрипт должен обязательно стоять в head'e, а не в конце документа (ибо плагин для мозилы пишу). Разумеется он, зараза, начинает выполняться сразу же после загрузки своего кода, пытается обратиться к несуществующим элементам DOM и успешно вырубается.

Вопрос прост: как заставить скрипт начать выполнение только после окончания загрузки документа?

ps: полагаю дело там так будет обстоять -

var onLoadFlag, IntervalFlag;

while ( !onLoadFlag )
{
IntervalFlag = setInterval (" onLoadFlag = ***что-то, проверяющее, загрузился ли документ***;", 50);

if (onLoadFlag)
{
clearInterval(IntervalFlag);
...
}
}

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0
Событие onload в вашем плагине случается?

можно подроблее пжст?

это мой первый плагин и я еще не очень разбираюсь что к чему.

onLoad насколько мне известно - это атрибут тега body. запустить скрипт таким образом нельзя, ибо тупо не имею возможности вставить туда сей атрибут (работаю с удаленной машиной).

Link to comment
Share on other sites

  • 0

Большое спасибо! Мне очень это помогло.

Однако столкнулся с непредвиденной проблемой:

не смотря на то, что я объявляю в head

window.onload = function() {
alert("load event detected!");
load();
}

где load() - функция, которая должна работать с элементами по их ID;

Но в body тоже определен unLoad и он ставится вместо установленного мной значения. Как же мне в этом случае все-таки сделать так, чтобы скрипт выполнялся после загрузки документа?

Link to comment
Share on other sites

  • 0

AKS, большущее спасибо, ваши ссылки мне очень помогли!

Спасло вот это:

document.addEventListener('DOMContentLoaded', load, false);
window.onload = load;

function load()
{
...
}

копипастил весь скрипт на место трех точек, и теперь он выполняется уже после загрузки документа.

Сейчас дописываю скрипт в скором темпе - сдавать уже в субботу. Найду время - обязательно подучу DOM;

Спасибо!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy