Есть ли способ проверить document.ready(), если jQuery недоступен?
Возможный дубликат:
$(document).ready эквивалент без jQuery
Я знаю, что вы можете использовать событие window.onload для запуска функций, но есть ли способ для script запросить, готов ли документ или нет?
Что-то вроде
function update()
{
if( !document.ready() ) // don't do unless document loaded
return ;
}
window.setInterval( 'update();', 100 ) ;
Невозможно изменить <body> элемент, а не jQuery/другие библиотеки.
Ответы
Ответ 1
Здесь вы идете:
var tid = setInterval( function () {
if ( document.readyState !== 'complete' ) return;
clearInterval( tid );
// do your work
}, 100 );
Подробнее о document.readyState
свойства здесь. Я не уверен, что все текущие браузеры реализуют его.
Ответ 2
Оформить заказ https://github.com/jakobmattsson/onDomReady
Это сложнее, чем несколько строк! - Если вам требуется соблюдение нескольких браузеров.
Ответ 3
Этот код будет работать во всех браузерах
if(window.attachEvent()){
window.attachEvent("onload",load);
}else{
window.addEventListener("load",load,true);
}
function load(){
//Code to execute when the document is loaded.
}