如果我使用image()加载背景图像,它会被缓存吗?
If I load a background image using Image(), will it be cached?
我有两个页面,在第一个页面加载后,我使用javascript图像对象,像这样:
var workshopBack = new Image();
workshopBack.src = "/images/wBack.jpg";
wBack.jpg是下一页的背景,但它太大了,所以我在第一页本身之前加载它。现在我的问题是,当用户导航到下一个页面时,背景会从缓存中加载还是再次下载?
正常情况下,加载图像会使其在缓存中保存一段时间,但不能保证。
对于浏览器缓存应该如何工作没有标准,它只是按照浏览器供应商所知道的最好方式实现的。由于图像的大小,有些浏览器完全有可能实现尽快删除图像。你只需要在不同的浏览器中进行测试,看看它们的反应如何。
另外,缓存的状态也可能影响结果。即使您的浏览器保留了图像,其他用户可能在缓存中有不同的文件集,或者有不同的缓存限制,这使得浏览器删除了图像。你只能确保它在大多数情况下都能工作,不能保证它在所有情况下都能工作。
相关文章:
- 使用脚本缓存图像
- 预加载图像和缓存图像之间有区别吗
- Chrome 不会在 SVG 中缓存图像
- 无法从画布缓存图像数据
- 如何在Javascript中缓存图像
- jQuery Datatable缓存图像问题
- 允许在页面上缓存,但请确保不缓存图像
- 强制浏览器仅缓存图像(而不是脚本和链接)
- 缓存图像&本地phonegap的数据
- 用javascript创建两次缓存图像
- 使用没有插件的angularjs缓存图像
- 使用Javascript加载和缓存图像,并了解HTTP状态码
- 如何使用Angularjs ionic缓存图像
- 在浏览器中缓存图像后,通过请求图像来检查互联网连接不起作用
- FileContentResult -防止浏览器缓存图像
- 使用骨干模型缓存图像
- 如何使用PhoneGap / Cordova本地缓存图像文件?
- 如何启用akamai缓存图像,css, js等
- Chrome/Firefox缓存图像问题
- Dropbox提供的浏览器缓存图像