我使用localStorage
来存储图片路径。我有一个页面,其中New Image
由用户上传。我正在重置localStorage
,以便在回发完成后应用新图像。
在Chrome, Firefox
中它运作良好但在IE中可以看到相同的旧图像。
当我清除IE
中的浏览器缓存时,它会向我显示新图像。
如何在IE
浏览器中解决此问题?
我知道附加到图片的querystring
技巧,但我不能在我的代码中使用它,还有其他方法吗?
答案 0 :(得分:1)
尝试在图片网址的末尾添加缓存破解程序
newImage.src = "http://localhost:8080/image.jpg?" + new Date().getTime();
这会将时间戳添加到image.jpg请求中,这将使浏览器再次查看服务器中的图像,而不是检索存储在浏览器缓存中的图像。
或者,为了更好的方式,您可以使用Cache-control: no-cache
HTTP标头提供图像。
Pragma: no-cache
Expires: Fri, 30 Oct 1998 14:19:41 GMT
Cache-Control: no-cache, must-revalidate
通过提供过去的日期,它不会被浏览器缓存。
答案 1 :(得分:0)
尝试:
<!--[if IE]>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
<![endif]-->
请记住,IE 10+不支持条件注释。如果较新的版本仍然存在同样的问题,那么动态更改图像名称就是最佳选择。