В чем разница между Window.load и document.readyState

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

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

window.load = JavascriptFunctionName ; 

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

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

        }
    });

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

Ответ 1

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

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

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

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

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

$(window).load(function() {
  CheckThis();
});

Ответ 2

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

Ответ 3

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

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

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