A continuación se presenta una lista mucho más amplia de elementos que disparan un evento de carga cuando el recurso solicitado termine la descarga:
body # (just fires a load event, doesn't make requests itself)
img
image
link
iframe
frameset
frame
script
embed
object
video ?
source
track
audio ?
source
svg
<input type="image" src="submit.gif" alt="Submit">
<object width="400" height="400" data="helloworld.swf"></object>
<map name="planetmap">
<area shape="rect" coords="0,0,82,126" href="sun.htm" alt="Sun">
webgl?
En su mayor cobertura, lo mejor es tener en cuenta que todos los elementos HTML que hacen referencia a una URL resultarán en una solicitud y desencadena un evento load
o error
cuando la solicitud para el éxito o falla. Así que, básicamente, cualquier elemento con un atributo src
o href
, a excepción de las siguientes etiquetas:
a
# What else? Not sure off hand..
Y incluyendo la etiqueta body
, ya que irónicamente no tiene un atributo src
O href
.
A continuación se muestra algunos javascript en bruto para el descubrimiento de estos elementos:
var tagsToIgnore = ['a'];
['src', 'href'].forEach(function(attr) {
console.log('====' + attr + '====');
[].slice.call(document.querySelectorAll('*[' + attr + ']')).forEach(function(el){
if (!~tagsToIgnore.indexOf(el.tagName.toLowerCase())) {
console.log(el.tagName);
}
});
});
console.log('body # :trollface:');
Además, con el "todo con href src o" método, se ignoran las etiquetas irrelevantes o de otro tipo que normalmente tienen un src o atributo href, pero no siempre.
Otras cosas que pueden tener fallos en la red:
onload
y onerror
atributos pueden ser útiles para mantener un registro de si su usuario tiene una conexión a Internet activa, que es algo que estoy tratando de abordar con mi biblioteca check-online.js: http://github.com/devinrhode2/check-online
Hay algunas pruebas obvias para ser hecho para ver si
¿Qué pasa con las etiquetas no, como un documento DOM o una ventana? (No estoy seguro, pero creo que también tienen carga). – strager
Guau, esa actualización fue rápida. ; P +1 – strager
Gracias. Ustedes me hacen parecer flojo. :) –