2014-09-24 27 views
1

我试过在谷歌上查找这个,但是我得到了很多关于“如何”而不是副作用的turtorials。当你用jquery更改img标签的src时会发生什么?

当更改img的src时,这是否会导致双重缓存效果?如果有人使用jQuery来创建滑块/旋转/漫画查看器/选框/等,并使用jQuery来做到这一点?

在移动设备上,图像旋转后页面可能会停止工作,设备接收到类似“页面太大?”的类似错误。

图像可以以浏览器记住它们的方式缓存吗?我的意思是当你有一个具有特定名称的图像时,你可以编辑它,并且浏览器加载它的一个缓存版本。如果随机程序代码被放置以选择一个随机图像,这会导致错误的图像加载吗?

我只是好奇,这可能会有什么样的影响,浏览器浏览器/访问访问的基础上。

我想测试一下,但我觉得我的结果可能是隐蔽的或者不够广泛,无法覆盖知识可能已经可用时的所有场景。

这纯粹是为了知识,而不是为了项目。我想其他人也可能会好奇。

回答

2

更新src属性加载新图像。

即使我会先预加载图像,然后以该方式替换或处理图像。

你可以看到一个工作示例的都在这里:http://jsfiddle.net/je9w1n9m/

不过我觉得你的问题,更多的是你的缓存头被如何建立静态内容。如果您的Web服务器上正确设置了缓存标头,以告知浏览器缓存静态内容,则该映像将返回一个304 Not Modified响应,并且会在第一次加载时缓存在浏览器中。

+0

那么你说什么改变src实际上并不影响缓存? – 2014-09-24 05:16:36

+0

如果您的意思是,如果它不影响已经加载到页面上的图像,那么它们会被缓存在浏览器中,具体取决于您是否设置了响应标头。 – 2014-09-24 05:19:35

+0

在许多新浏览器中,图像会自动为该会话缓存,无论标题如何,所以无论如何,我认为您是安全的。但检查你是否有静态内容缓存设置,你有过期标签等 – 2014-09-24 05:20:33