Me siento alagado y privilegiado, 3 cerebros expertos en JS a mi rescate! , bueno
vamos por partes y en orden :
Cita:
Iniciado por zerokilled ¿la URL que carga siempre es la misma? ¿la imagen es generada en el servidor?
De hecho la URL que meto en backgroundImage es siempre la misma, la imagen
se llama desde el server.
Al cargar la pagina, v
eo que la imagen se carga perfectamente, con la herramienta network de chrome puedo ver que la petición esta finalizada.
Cita:
Iniciado por emprear El ejemplo me parece un poco rebuscado, tendrías que hacerlo asi para lograr una background
Me resulta a veces una ardua tarea incluso mediante el lenguaje escrito, describir una situación concreta,
esta situación se resume en que, yo desconocía si era posible manejar la cache de forma manual.
Cita:
Iniciado por emprear Si la intención es cambiar la imagen de fondo, usar la ruta y no crear un nuevo objeto imagen
No es cambiar una imagen de fondo, eso es plausible desde CSS simple,
lo que yo quiero es que no haya un retardo entre que se hace la petición al server y se recibe y se descarga la imagen al cliente, en ese intervalo se me jode el "frame", defino frame como un conjunto de .gif que llevan acabo una animación.
Cita:
Iniciado por emprear Con respecto a la caché no tenés que hacer nada desde el javascript, si querés optimizar el rendimiento tenes que pasar un header para fijar un tiempo de expiración largo (a no ser que explicitamente quieras lo contrario), lo recomendable es hacerlo desde el server, por ejemplo en apache
1año
Código Apache:
Ver original<FilesMatch "\.(ico|gif|jpg|jpeg|png|flv|pdf|woff|eot|svg|ttf|flv|swf)$">
Header set Cache-Control "public, max-age=29030400"
</FilesMatch>
todos los elementos se guardan en la cache del navegador, la diferencia está en si el navegador va a leer el archivo desde ahi ó va a buscar una copia "fresca" en el servidor
Saludos
Afirmativo, mi
configuracion .htmlacces para la cache de imagenes es esta :
Código:
<FilesMatch "\.(jpg|png|cgc|bpm|gif|flv|svg)$">
Header set Cache-Control "max-age=10000"
Es decir, una expiración de un par de horas.
Cita:
Iniciado por Panino5001 Si la intención es leer desde la caché, también podrías probar la api Offline Application Cache de html5. Claro que dependerá de cómo lo aplique cada navegador, pero en teoría el navegador, una vez que interpreta el archivo .manifest guarda los elementos en él indicados para leerlos desde esa zona de almacenamiento de manera preferencial.
Un ejemplo para testear con Firebug:
http://cachemanifest.heroku.com/clock.html
Claro que luego, si querés hacer algún cambio en alguna de las fuentes indicadas en el archivo .manifest deberás modificar "algo", aunque sea un caracter en el archivo .manifest (normalmente se coloca un comentario con el nro de versión, Ej: #V1, y es eso lo que se modifica).
Lo tengo muy encuenta y gracias por tu recomendación.