Tiempo de ejecución de JavaScript

A veces, el archivo JavaScript se ejecuta antes de que el DOM se haya renderizado por completo. El problema que esto causa es que, al intentar acceder a los elementos del DOM, se produce un error que indica que el elemento no existe. Por el momento, hemos utilizado el método setTimeout para retrasar la ejecución medio segundo, lo cual no es una buena solución ni una buena práctica.
Por lo tanto, la pregunta es, ¿cómo cambiar el archivo JavaScript para que se ejecute solo si el DOM está completamente generado?

Eso es esperado si construyes tus extensiones usando hooks inadecuados, como $( document ).ready o algo similar.

Discourse es una aplicación EmberJS, por lo que cualquier extensión debería tener eso en cuenta y conectarse a los hooks existentes de la aplicación. Puedes aprender sobre eso en Developing Discourse Themes & Theme Components

4 Me gusta

@Falco Muchas gracias por responder. Lo revisaré y te avisaré si funcionó.

2 Me gusta