В чем разница между Window.load и document.readyState - PullRequest
11 голосов
/ 16 марта 2010

У меня есть один вопрос, в моем веб-приложении ASP.NET MVC я должен выполнить определенную проверку после загрузки страницы и всех элементов управления.

В javascript я использовал белую строку кода для вызова метода.

window.load = JavascriptFunctionName ; 

Кто-то из моей команды спросил, не используется ли строка кода выше Вместо этого используйте JQuery, чтобы сделать то же самое

 document.attachEvent("onreadystatechange", function() {
        if (document.readyState === "complete") {
            CheckThis();

        }
    });

Пожалуйста, помогите мне понять, в чем разница между двумя. Когда я тестировал, поддерживая оповещение в обоих случаях, сначала выполняется проверка Jquery и вызывается функция CheckThis, где в качестве window.load требуется некоторое время и выполняется после него. Пожалуйста, предложите

Ответы [ 3 ]

7 голосов
/ 16 марта 2010

window.load - запускается при загрузке всего контента, включая изображения.

document.ready - запускается, когда DOM готов, все элементы находятся на странице и готовы к работе, но изображения не обязательно загружаются.

Вот способ сделать jQuery document.ready:

$(function() {
  CheckThis();
});

Если вы хотите, чтобы это все еще происходило на window.load, сделайте следующее:

$(window).load(function() {
  CheckThis();
});
3 голосов
/ 16 марта 2010

Обработчик готовности запускается сразу после создания DOM, не дожидаясь загрузки всех внешних ресурсов.

Поскольку вы используете jQuery, более кратким, независимым от браузера и широко используемым синтаксисом для него является:

$(function(){  
   CheckThis();
}); 
3 голосов
/ 16 марта 2010

window.load срабатывает, когда ваша страница полностью загружена (с изображениями, баннерами и т. Д.), Но document.readyState срабатывает, когда DOM готов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...