В чем разница между 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();
});