Estoy trabajando en una página de inicio basada en jquery con 5 o menos divs ocultos, cada uno con varias imágenes CSS de fondo.precargar imágenes de CSS ocultas
El problema es que el navegador no carga imágenes css en el DOM hasta que se muestra la visibilidad de la capa principal, lo que hace que las imágenes se carguen lentamente cuando la capa se vuelve visible.
Soluciones Ya hemos considerado:
- sprites CSS (demasiado trabajo para rediseñar para esto, y la costumbre realmente funciona cuando se muestran/ocultan divs)
- This jQuery plugin que las imágenes de fondo-carga automáticamente CSS (simplemente no funciona para mí según lo informado por muchos otros).
precarga de las imágenes a través de JS:
$(function() { function preloadImg(image) { var img = new Image(); img.src = image; } preloadImg('/images/home/search_bg_selected.png'); });
Esta solución parece cargar la imagen en el DOM dos veces ... una vez cuando se carga el js, y luego de nuevo cuando la capa div que carga se hace visible ... por lo tanto, realiza 2 llamadas HTTP, por lo que no funciona.
¿Alguna otra solución para este problema que me falta?
¡Gracias por todas las sugerencias! Los probaré mañana y veré qué funciona. Probé el método div 1x1, pero la aplicación Rails con la que estoy trabajando asigna un hash de almacenamiento en caché al final de la url de la imagen ... por lo que el navegador los trata como imágenes diferentes a las del css. – Cory