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 в сам скрипт.