La precarga de JavaScript funciona aprovechando el mecanismo de almacenamiento en caché utilizado por los navegadores.
La idea básica es que una vez que se descarga un recurso, se almacena durante un período de tiempo localmente en la máquina cliente para que el navegador no tenga que recuperar el recurso nuevamente desde la red, la próxima vez que se descargue. es requerido para mostrar/usar por el navegador.
Probablemente su código esté funcionando bien y usted está malinterpretando lo que Fire Bug está mostrando.
Para probar esta teoría solo tiene que acceder a www.google.com con un caché limpio. Es decir. borre su historial de descargas primero.
La primera vez en todo probablemente tenga un estado de 200 OK. Lo que significa que su navegador solicitó el recurso y el servidor lo envió. Si miras en la parte inferior de la ventana de Fire Bug, dirá qué tan grande era la página, digamos 195 Kb, y cuánto de eso fue sacado de la caché. En este caso 0Kb.
A continuación, vuelva a cargar la misma página sin borrar la caché, y aún verá la misma cantidad de solicitudes en FireBug.
La razón de esto es bastante simple. La página no ha cambiado y aún necesita todos los recursos que necesitaba antes.
Lo que es diferente es que para la mayoría de estas solicitudes el servidor devolvió un estado 304 no modificado, por lo que el navegador verificó su caché para ver si ya tenía el recurso almacenado localmente, que en este caso lo hizo desde el anterior carga de página Entonces, el navegador simplemente sacó el recurso del caché local.
Si mira en la parte inferior de la ventana Fire Bug, verá que el tamaño de página sigue siendo el mismo (195Kb) pero que la mayoría, en mi caso 188Kb, se extrajo localmente de la memoria caché.
Así que la memoria caché sí funcionó y la segunda vez que presioné Google guardé 188 Kb de descarga.
Estoy seguro de que encontrará lo mismo con la precarga de sus imágenes. La solicitud aún se realiza, pero si el servidor devuelve un estado de 304, verá que la imagen se ha extraído de la memoria caché local y no de la red.
Así que con el almacenamiento en caché, la ventaja NO es que elimine todas las solicitudes de recursos futuros, es decir, una búsqueda URI todavía se realiza en la red pero si es posible el navegador extraerá de la memoria caché local para satisfacer la necesidad del contenido, en lugar de correr alrededor de la red buscándolo.
¿Cómo está tratando de ver las imágenes? –
Agregué el código en mi pregunta. Tal vez debería crear un elemento con DOM en lugar de simplemente agregar la cadena equivalente? –