document.addEventListener('load', () => { console.log('hi')} ) h1, h2{ color:white; text-align: center; font-weight: 300; } body{ background-color: rgb(24, 24, 24); overflow-x :hidden; } <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <link rel = "stylesheet" href = "style.css"> <script src = "script.js"></script> <title>Test</title> </head> <body> <h1 style="font-size: 50px;" id = "hi">Hi</h1> </body> </html>(Por cierto, este no es el código completo. Es solo un marcador de posición).
Como puede ver en el fragmento, el 'hola' no aparece en el archivo console.log. ¿Alguna idea de por qué?
No se activa ningún evento de load en el objeto de document .
Puede usar un evento DOMContentLoaded o escuchar un evento de carga en el objeto de la window .
Tenga en cuenta que se disparan en diferentes momentos, así que asegúrese de leer la documentación para saber cuál es el adecuado para usted.
También es posible que desee eliminar el detector de eventos por completo y utilizar un defer diferido para retrasar la ejecución del script.
Esto retrasaría la ejecución de la secuencia de comandos hasta que el DOM estuviera listo (que probablemente sea la razón por la que intenta usar un controlador de eventos aquí) al tiempo que permite que la secuencia de comandos se descargue en paralelo con el HTML que se analiza (lo cual es una ligera mejora de rendimiento).
Estás escuchando el evento equivocado. P.ej
document.addEventListener("DOMContentLoaded", function(event) { console.log("DOM fully loaded and parsed"); });Lea más aquí: https://developer.mozilla.org/de/docs/Web/API/Window/DOMContentLoaded_event