Проблема в том, что alert
блоки - пока отображается всплывающее окно alert
, дальнейшая визуализация страницы предотвращается, а при запуске window.onload
страница может вообще не отображаться вообще особенно если до этого не было много HTML. Все элементы do существуют в документе при запуске onload
, они просто могут не отображаться. (Зависит от браузера)
alert
очень неудобен для пользователя, а также с ним трудно работать (как вы столкнулись). Вместо этого используйте console.log
или правильный модал:
<h1>Title...</h1>
<p>lorem500...</p>
<script>
function pageLoad() {
console.log('I\'m alive');
}
window.onload = pageLoad;
</script>
Если у вас было для использования alert
, оповещайте только через мгновение setTimeout
, что дает браузеру возможность раскрасить страницу до вызова alert
на всякий случай, если браузер еще не отобразил страницу:
<h1>Title...</h1>
<p>lorem500...</p>
<script>
function pageLoad() {
setTimeout(() => {
alert('I\'m alive');
});
}
window.onload = pageLoad;
</script>