Window.onload еще не запущен?

У меня есть скрипт, который будет вставлен в неизвестную страницу в неизвестное время. Можно ли из этого скрипта узнать, сработал ли еще window.onload?

У меня нет контроля над страницей хоста. Я не могу добавить разметку или сценарии к нему. Все, что я знаю, это то, что мой сценарий будет вставлен на страницу в какой-то момент. Это может быть до window.onload или после; и мне нужно определить, на какой стороне этого события я нахожусь.

2 ответа

Обновленный ответ: посмотрите на этот сайт. Он использует хитрость, видя, определен последний элемент document.getElementsByTagName("*") или нет. Вроде работает в Opera и IE.


Оригинальный ответ: Вы не можете проверить, но вы можете сделать:

window.setTimeout(function () {
    // do your stuff
}, 0);

Это сделает ваши вещи определенно после загрузки страницы.

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

$(document).ready(function() {
    //your code here
});

Просто убедитесь, что jQuery включен перед вашим блоком скриптов. Если вы не можете включить какие-либо ресурсы скрипта напрямую, вы всегда можете скопировать тело jQuery-min в сам скрипт.

Другие вопросы по тегам