Стандартный обработчик загрузки документа — не document.onload, а чаще window.onload / window.addEventListener('load', …). У document нет надёжного классического onload как у window (исторически путают с document.onreadystatechange и jQuery).
Когда что
DOMContentLoaded — DOM построен, стили/картинки могут ещё грузиться.
windowload — загружены ресурс и зависимые assets (images, stylesheets и т.д.).