Estoy tratando de encontrar una manera de almacenar en caché las imágenes siguientes y anteriores en mi script de galería ... Me pregunto si esta es una buena manera de hacerlo. Además, ¿hay alguna manera de especificar manualmente el tiempo de caché para la imagen descargada?¿Se seguirá descargando y almacenando en caché una imagen con style = "display: none"?
Respuesta
display: none
las imágenes se descargarán y almacenarán en caché en el cliente. Sin embargo, JavaScript ya tiene una forma bien definida de imágenes de precarga:
var nextImage = new Image();
nextImage.src = "your-url/newImage.gif";
Esto precargar una imagen sin mostrarla al usuario.
Creo que se descargará y, por lo tanto, se almacenará en caché, porque las imágenes pueden cargarse incluso antes de que el CSS haya llegado.
Si los navegadores resultan demasiado inteligentes, algo como position:absolute; left:-9999px; top:-9999px
debería ser una buena alternativa.
No estoy seguro del comportamiento del caché con display: none
(probablemente varía según el navegador), pero puede obtener una imagen en el caché del navegador sin mostrarlo creando una imagen de objetos en JavaScript. La imagen no se mostrará hasta que la agregue a la página.
var image = new Image();
image.src = 'example.com/image'
En cuanto a “¿hay alguna manera de especificar manualmente el tiempo de caché de la imagen descargada?”, Existe, pero eso se trata en la respuesta HTTP que proporciona la imagen en el navegador. Google tiene un buen manual sobre eso: https://developers.google.com/speed/articles/caching
- 1. (jQuery) Alternar div style "display: none" a "display: inline"
- 2. jQuery. Seleccione todos los elementos con una clase pero sin style = "display: none;" atributo
- 3. El texto oculto se puede seleccionar en IE a pesar de style = 'display: none'
- 4. test if display = none
- 5. Enlace (href) a una oculta (display: none) elemento html
- 6. jquery validator plugin with display: none form elements
- 7. jQuery obtener elementos sin display = "none"
- 8. Cuál es la diferencia entre overflow: hidden y display: none
- 9. <style> etiqueta dentro de cualquier elemento seguirá funcionando?
- 10. Chrome está almacenando en caché una solicitud HTTP PUT
- 11. ¿Cuál es el equivalente de Css "display: none" en flex?
- 12. Ignorar .NET validadores si el elemento está oculto (display: none)
- 13. botón con display: block no se extendía
- 14. configuración jQuery .offset(); mientras que "display: none;" da como resultado otros valores superiores e izquierdos que con "display: block;"
- 15. Haskell Network.HTTP descargando incorrectamente la imagen
- 16. Creando y descargando CSV con PHP
- 17. ¿Cómo sé si se está almacenando en caché una declaración preparada?
- 18. Cómo usar jquery para encontrar el elemento con display = none y devolver el id de los elementos a una variable?
- 19. Descargando la imagen normal Vs retina device image (2x)
- 20. Cómo agregar "style = display:" block "" a un elemento usando jquery
- 21. Descargando archivos con Java
- 22. Cómo mostrar la imagen de carga mientras se está descargando la imagen real
- 23. Nexus no está almacenando en caché los complementos centrales maven
- 24. Display SVG en Metro App con C# y xaml
- 25. display: inline-block y de texto guión
- 26. getClass(). GetClassLoader(). GetResourceAsStream() está almacenando en caché el recurso
- 27. Almacenando una referencia en C#
- 28. Almacenando $ (esto) en una variable
- 29. Retina display y [UIImage initWithData]
- 30. display: none vs visibility: oculto vs texto-sangrado: 9999 ¿Cómo se comporta el lector de pantalla con cada uno?
Esto es posible con JavaScript, pero en realidad me gusta más esta solución (si funciona). – Thomas