在堆栈溢出中有很多预加载脚本示例可用,但有没有一种方法可以检查浏览器是否已将图像预加载到缓存中,如果是,则不会启动/超过使用.load()函数预加载图像并让浏览器放入图像中?缓存中的jQuery图像预加载
0
A
回答
1
我不这么认为,但更重要的是,如果您的浏览器已经有图片,它不会尝试重新加载它(它只会询问服务器的标题,并看到图像没有改变)。
如果你愿意,你可以在图像上放置'far futures expires'头文件,这样浏览器甚至不会尝试检查服务器,只是假设它缓存中的任何图像都没问题。这将有效地做你所问。
我觉得Yahoo说,它比我好的人:
浏览器(或代理)使用缓存以减少 HTTP请求的数量和大小,制作网页加载速度更快。 Web服务器使用HTTP响应中的 Expires标头告诉客户端可以缓存多长时间的组件。这是一个遥远的将来Expires头,告诉 浏览器,这一措施将不会过时,直到4月15日,2010年 到期日:星期四,2010 04月15日20:00:00 GMT
如果您的服务器是Apache的,使用ExpiresDefault指令设置相对于当前日期的 到期日期。此示例的 ExpiresDefault指令将过期日期设置为从请求的 时间起10年。 ExpiresDefault“access plus 10 years”
请记住,如果您使用远期未来过期标题,则必须在组件更改时更改组件的文件名。在 Yahoo!我们经常将此步骤作为构建过程的一部分:组件的文件名中嵌入了 数字,例如, yahoo_2.0.6.js。
所以基本上,你可以把标题Expires: Thu, 31 Dec 2030 0:00:00 GMT
和浏览器不会再去寻找另一个图像29年左右:))。当然,这意味着如果你改变图像,你必须重新命名它们。
相关问题
- 1. 如何在Flex中加载缓存的预加载图像
- 2. 预加载和缓存图像,然后从缓存中删除旧图像
- 3. 用jquery预加载图像 - 图像是否保留在缓存中?
- 4. 使用jQuery预加载并缓存下一个x图像
- 5. jQuery图像预加载/缓存停止浏览器
- 6. jQuery和预加载图像?
- 7. jquery预加载图像
- 8. HTML/jQuery预加载图像
- 9. jQuery的移动预取/缓存图像
- 10. 在jQuery图库中预加载图像
- 11. 在jQuery中预加载背景图像
- 12. 从其他缓存图像加载缓存图像
- 13. 预加载和缓存图像的最佳做法(AFNetworking)
- 14. 我如何缓存/预先加载Angular2 webapp的所有图像?
- 15. 用于iPhone的jQuery预加载图像
- 16. jQuery的图像预加载问题
- 17. 图像加载程序位图缓存
- 18. drupal 7中的图像缓存预设?
- 19. 如何判断图像是否在JQuery中加载或缓存?
- 20. 图像预加载
- 21. 如何使用jQuery预加载图像
- 22. 单个图像jquery预加载器
- 23. jQuery为动画预加载图像
- 24. jQuery预加载不显示图像
- 25. 使用jquery预加载图像
- 26. 使用jQuery预加载图像
- 27. 从jquery预加载图像从MySQL
- 28. jQuery ajax没有预先加载图像
- 29. 缓存通过PHP/AJAX/JSON/jQuery加载的动态图像
- 30. 图像不延迟加载和缓存
我明白你在说什么,但如果图像已被浏览器缓存起来,是否可以使用javascript进行检查,因此我不需要触发.load()事件。加载后的所有图像都淡入淡出,我试图实现的是:如果图像已被浏览器缓存起来,不会触发.load()事件,只是让浏览器填充它们,以使javascript fadeIn不会不采取行动。 – Alex