Почему window.onload работает, а document.onload - нет?

Может ли кто-нибудь сказать мне, почему следующая страница не вызывает предупреждение при загрузке? Если я использую window.onload вместо document.onload, он работает. Почему это различие?

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">

document.onload = function() {
    alert('Test');
}

</script>
</head>
<body>
</body>
</html>

Ответ 1

Самый простой ответ заключается в том, что он просто не был разработан таким образом. Браузер выполняет функцию, привязанную к window.onload на конец процесса загрузки документа". Он не пытается выполнить функцию, прикрепленную к document.onload.

Вы можете назначить функцию document.onload, но браузер не будет делать с ней ничего особенного.

Некоторые вещи, которые следует иметь в виду (если вы только что назначили функцию одному или другому из window.onload или document.onload):

  • window.onload === onload
  • window.onload !== document.onload
  • window !== document

Ответ 2

Обработчик событий onload not document.onload. Он зависает непосредственно от объекта window (который является объектом по умолчанию).