Necesito ejecutar un código JavaScript cuando la página se haya cargado completamente. Esto incluye cosas como imágenes.
Sé que puedes verificar si el DOM está listo, pero no sé si esto es lo mismo que cuando la página está completamente cargada.
javascript
Ben Shelock
fuente
fuente
Respuestas:
Eso se llama
load
. Llegó muuuucho antes de que DOM ready estuviera listo, y DOM ready fue creado por la razón exacta queload
esperaba en las imágenes.fuente
window.onload
se llama cuando cada componente de página / recurso (es decir, * incluye * imágenes). Estoy en lo cierto?onload
espera todos los recursos que forman parte del documento. Esto excluye, por supuesto, las solicitudes creadas dinámicamente que no forman parte del documento en sí, por ejemplo, una solicitud AJAX.addEventListener("load", function(){
... en})
lugar de sobrescribir laonload
propiedad.Por lo general, puede usar
window.onload
, pero puede notar que los navegadores recientes no se activanwindow.onload
cuando usa los botones de historial de retroceso / avance.Algunas personas sugieren contorsiones extrañas para solucionar este problema, pero en realidad si solo haces un
window.onunload
controlador (incluso uno que no hace nada), este comportamiento de almacenamiento en caché se deshabilitará en todos los navegadores. El MDC documenta esta "característica" bastante bien, pero por alguna razón todavía hay personas que usansetInterval
y otros hacks extraños.Algunas versiones de Opera tienen un error que se puede solucionar agregando lo siguiente en algún lugar de su página:
Si solo está tratando de obtener una función de JavaScript llamada una vez por vista (y no necesariamente después de que el DOM haya terminado de cargarse), puede hacer algo como esto:
Por ejemplo, uso este truco para precargar un archivo muy grande en el caché en una pantalla de carga:
fuente
En aras de la integridad, es posible que también desee vincularlo a DOMContentLoaded, que ahora es ampliamente compatible
Más información: https://developer.mozilla.org/en-US/docs/Web/Events/DOMContentLoaded
fuente
$.ready
hicieron referencia , pensé que era una buena contribución. Por cierto. Que haría uso de laaddEventListener
-method también para elload
caso, sin embargo, ya que le permite tener múltiples devoluciones de llamada:window.addEventListener("load", function(event){ // your code here });
Pruebe esto: solo se ejecuta después de que se haya cargado toda la página
Por Javascript
Por jquery
fuente
$(window)
me hace pensar que esto sería jquery, ¿verdad? ¿O estoy confundiendo alguna sintaxis de JavaScript? (Soy nuevo en JS).$(document).ready();
cuando jQuery está disponible?Prueba este código
visite https://developer.mozilla.org/en-US/docs/DOM/document.readyState para más detalles
fuente
"interactive"
no está completamente cargado"complete"
está completamente cargadoel evento window.onload se activará cuando se cargue todo, incluidas las imágenes, etc.
Desearía verificar el estado de DOM listo si desea que su código js se ejecute lo antes posible, pero aún necesita acceder a los elementos DOM.
fuente
Javascript usando el
onLoad()
evento esperará a que se cargue la página antes de ejecutarse.Si está utilizando la función de preparación de documentos del marco jQuery, el código se cargará tan pronto como se cargue el DOM y antes de que se cargue el contenido de la página:
fuente
Es posible que desee utilizar window.onload , ya que los documentos indican que no se activa hasta que el DOM esté listo y TODOS los demás activos en la página (imágenes, etc.) estén cargados.
fuente
Y aquí hay una manera de hacerlo con PrototypeJS :
fuente
En navegadores modernos con javascript moderno (> = 2015) puede agregar
type="module"
a su etiqueta de script, y todo lo que esté dentro de ese script se ejecutará después de que se cargue toda la página. p.ej:También los navegadores más antiguos entenderán el
nomodule
atributo. Algo como esto:Para obtener más información, puede visitar javascript.info .
fuente
Si necesita utilizar muchos
onload
usos$(window).load
en su lugar (jQuery):fuente
Entonces, básicamente, JavaScript ya tiene el método de carga en la ventana, que se ejecuta en la página cargada por completo, incluidas las imágenes ...
Puedes hacer algo:
fuente
Actualización de 2019: esta fue la respuesta que funcionó para mí. Como necesitaba varias solicitudes ajax para disparar y devolver datos primero para contar los elementos de la lista.
fuente