2012-02-18 2 views
4

Я работаю над окном, которое является базовым пользовательским интерфейсом HTML. Мне нужно знать, когда полностью загружена веб-страница. Я проверил множество событий веб-браузера, таких как DocumentCompleted, IsBusy, ReadyState, но никто из них не ответил, что я ожидал.Как определить, полностью ли загружена веб-страница в веб-браузере?

+0

Что вы ожидаете и что получаете? – Softnux

+0

Мне нужно событие для загрузки полностью загруженной страницы HTML. –

+0

Вы пробовали событие onload? Что случилось? –

ответ

3

Если вы можете использовать библиотеку jQuery, то это очень просто.

$(document).ready() { 
    //your page is fully loaded 
}; 

В противном случае вам придется полагаться на различные методы, основанные на используемом вами браузере. Поскольку это приложение формы Windows, я предполагаю, что движок рендеринга, который вы используете, основан на IE. Если это, то это может работать для вас:

if (document.attachEvent) 
{ 
document.attachEvent("onreadystatechange", function() 
{ 
     if (document.readyState === "complete") 
     { 
      document.detachEvent("onreadystatechange", 
       arguments.callee); 
      /* code to run on load */ 
     } 
}); 
} 

Вы можете найти другой браузер зависимые решения здесь, если вы заинтересованы: http://dean.edwards.name/weblog/2006/06/again/

+0

Я не могу использовать библиотеку jQuery в своем проекте. Это любая сыворотка для ее выполнения. –

+0

Как я уже сказал, если вы не можете использовать jQuery, тогда вам придется использовать один из зависимых от браузера решений, которые не полагаются на библиотеку, например jQuery. – sngregory

0

Chamika Sandamal правильно - вы должны использовать DocumentComplete событие НО - проверка объект 'sender'. Самое последнее «полное» событие происходит от самого «браузера», а не от изображений, текста и т. Д., Которые запускают его при загрузке. После того, как все элементы на странице запустит событие DocumentComelete, самое последнее событие произойдет из самого браузера. Если вы можете отбросить «отправителя» на объект браузера - здесь вы идете - это загрузка браузера завершенного события. Просто обратите внимание, что в случае, если у вас есть какие-либо теги «фрейма» в HTML, они поднимут различные события DcoumentComplete после завершения события «Полный браузер». Я думаю, что «кадр» рассматривается как другая HTML-страница, поэтому он будет иметь «полные» события.

Смежные вопросы