当你在谷歌浏览器中设置一个背景图片(你可能还包括一个img标签 - 虽然我还没有测试过),并且服务器并没有要求它被缓存,谷歌浏览器会点击服务器再次询问图像(即使它已经在页面中 - 我已经提交了这个bug,但它被设置为wontfix)。有没有办法,我可以绕过这个(最好使用jQuery)?如何防止Google Chrome在设置背景图像css时触碰服务器?
我已经将图像加载到一个javascript图像对象(因为计划是将它放在画布上),所以我想我可以做些什么(但Set an Image object as a div background image using javascript另有说明)。
设置服务器让浏览器缓存文件并不理想,因为它是动态生成的(我知道?_rand = 123的技巧,但更喜欢纯粹的客户端解决方案)。
所以客户根据需求的行为。为什么这是一个问题?使用正确的缓存标题并且一切正常 – zerkms 2012-04-16 00:03:02
浏览器在请求URL时避免获取图像的唯一方法是缓存它。如果你告诉浏览器不这样做,它不会。对于它的请求来自同一页面没有任何区别;换句话说,没有HTTP缓存控制概念用于“不缓存同一页面”。 – Pointy 2012-04-16 00:06:37
我可以理解Chrome团队选择不修复它的原因,但我宁愿如果图像更改服务器端(因为它完全可能在我的应用程序中执行,因为它是动态创建的精灵表)它直到整个页面在客户端刷新(或最好在我的控制下)才会被反映出来。 – 2012-04-16 02:41:29