如果我使用Image()加载背景图像,它会被缓存吗?

时间:2014-06-07 15:38:06

标签: javascript caching background load preload

我有两个页面,在第一页加载后,我使用这样的javascript图像对象:

var workshopBack = new Image();
workshopBack.src = "/images/wBack.jpg";

wBack.jpg是下一页的背景,但它很大,所以我先将它加载到第一页本身。现在我的问题是,当用户导航到下一页时,后台是从缓存加载还是再次下载?

1 个答案:

答案 0 :(得分:0)

正常情况下,加载图像会将其保留在缓存中一段时间​​,但无法保证。

浏览器缓存的工作方式没有标准,只是浏览器供应商知道的最佳实施方式。一些浏览器完全有可能会因为它的大小而尽快删除图像。您只需要在不同的浏览器中进行测试,看看他们的反应如何。

此外,缓存的状态也可能会影响结果。即使您的浏览器保留图像,其他一些用户可能在缓存中有不同的文件集,或者不同的缓存限制,这会使浏览器丢弃图像。您只能确保它在大多数情况下都能正常工作,但绝不能保证它在所有情况下都能正常工作。