¿Qué recursos externos se cargan cuando se activa el evento window.onload y cuál es el orden de carga de los recursos?

Dado que una sola página web puede contener muchos recursos externos: JavaScript externo, CSS externo, imágenes, applets, flash, etc., generalmente mi sabiduría convencional me dice que el evento window.onload se activa cuando todos los recursos vinculados terminan de descargarse ( aunque los recursos externos generalmente se descargan en múltiples hilos o procesos por la implementación del navegador). El caso habitual puede funcionar la mayor parte del tiempo. Pero ... qué pasa si la secuencia de carga no es lo que doy por sentado, algún error de JavaScript puede aparecer en algún lugar y en algún momento.

Después de hacer una búsqueda, descubrí que no es el caso lo que generalmente pienso. De esta página:https://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-10878_11-5214317.html, parece que las imágenes no se cargan cuando se activa el evento de carga. Pero desde aquiwindow.onload vs <body onload = "" />, me parece que las imágenes se cargan cuando se activa la carga. Hay más confusión para mí desde este enlacehttp://forums.mozillazine.org/viewtopic.php?f=25&t=413504&start=0&st=0&sk=t&sd=a.

Entonces, mi primera parte de la pregunta es: ¿Todos los recursos REALMENTE se cargan cuando se dispara window.onload?

Otra parte estrechamente relacionada de la pregunta es: ¿Cuál es el orden de carga de recursos antes de que se active window.onload? Sé que para recursos internos como JavaScript interno o CSS, el orden de carga es desde la parte superior de la página hasta la parte inferior (a menos que en IE, use el script diferido como aquí diceRecibir notificaciones cuando se carga la página DOM (pero antes de window.onload)) Pero, ¿qué pasa con los recursos externos de JavaScript y CSS? Por ejemplo, si escribo mi página así:

 <external stylesheet...>
 <external javascript #1...>
 <external javascript #2...>
 <script>
  .....
  window.onload=....
  </script>

Luego, suponiendo que una función en "javascript externo # 2" llame a una función en "javascript externo # 1", ¿puedo estar seguro de que SIEMPRE funciona? ¿También si window.onload llama a una función en "javascript externo # 1" también funciona como se esperaba?

Puede decir que la secuencia de carga de recursos y cuándo disparar el evento window.onload depende de la implementación del navegador, como se dice aquí¿Cuál es la precedencia de eventos en JavaScript?. Pero todavía me pregunto si hay una especificación o convención en el público. Entonces, ¿podría referirme a un recurso o decirme los hechos para aclarar mi confusión?

Respuestas a la pregunta(3)

Su respuesta a la pregunta