¿Cuál es la diferencia entre DOMContentLoaded
y load
eventos?
javascript
browser
Viktor
fuente
fuente
Respuestas:
Desde el Centro de desarrolladores de Mozilla :
fuente
El
DOMContentLoaded
evento se disparará tan pronto como la jerarquía DOM se haya construido completamente, elload
evento lo hará cuando todas las imágenes y subtramas hayan terminado de cargarse.DOMContentLoaded
funcionará en la mayoría de los navegadores modernos,pero no en IE,incluido IE9 y superior. Hay algunas soluciones alternativas para imitar este evento en versiones anteriores de IE, como el utilizado en la biblioteca jQuery, adjuntan el evento específico de IEonreadystatechange
.fuente
Vea la diferencia usted mismo:
MANIFESTACIÓN
De Microsoft IE
De la red de desarrolladores de Mozilla
fuente
DOMContentLoaded
Garantiza que se hayan cargado todos los scripts (incluido aplazamiento / asíncrono)? Aquí no se dice nada sobre los scripts: developer.mozilla.org/en-US/docs/Web/Events/DOMContentLoadedDOMContentLoaded
==window.onDomReady()
Load
==window.onLoad()
Ver: http://learn.jquery.com/using-jquery-core/document-ready/
fuente
domContentLoaded : marca el punto cuando el DOM está listo y no hay hojas de estilo que bloqueen la ejecución de JavaScript, lo que significa que ahora podemos (potencialmente) construir el árbol de renderizado. Muchos marcos de JavaScript esperan este evento antes de comenzar a ejecutar su propia lógica. Por esta razón, el navegador captura las marcas de tiempo EventStart y EventEnd para permitirnos rastrear cuánto tiempo llevó esta ejecución.
loadEvent : como paso final en cada página de carga, el navegador dispara un evento de "carga" que puede desencadenar una lógica de aplicación adicional.
fuente
fuente
Aquí hay un código que funciona para nosotros. Descubrimos que MSIE es impredecible
DomContentLoaded
, parece haber algún retraso cuando no se almacenan recursos adicionales en caché (hasta 300 ms según el registro de nuestra consola), y se dispara demasiado rápido cuando se almacenan en caché. Así que recurrimos a una alternativa para MISE. También desea activar ladoStuff()
función si seDomContentLoaded
activa antes o después de sus archivos JS externos.fuente