IE - 上传新图像时,旧图像显示

时间:2015-09-19 05:57:02

标签: javascript jquery html css internet-explorer

我使用localStorage来存储图片路径。我有一个页面,其中New Image由用户上传。我正在重置localStorage,以便在回发完成后应用新图像。

Chrome, Firefox中它运作良好但在IE中可以看到相同的旧图像。

当我清除IE中的浏览器缓存时,它会向我显示新图像。

如何在IE浏览器中解决此问题?

我知道附加到图片的querystring技巧,但我不能在我的代码中使用它,还有其他方法吗?

2 个答案:

答案 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+不支持条件注释。如果较新的版本仍然存在同样的问题,那么动态更改图像名称就是最佳选择。