jQuery和IE缓存问题

wangzhen199009 2012-12-05 07:47:42
很简单的功能,分别点击按钮1和2,将切换图片区域的图片

<script type="text/javascript">
$(function () {
$('#Button1').click(function () {
$('#testimg').attr({ src: "images/1.jpg", alt: "Test Image" });
})
$('#Button2').click(function () {
$('#testimg').attr({ src: "images/2.jpg", alt: "Test Image" });
})

})
</script>


<input id="Button1" type="button" value="button1" />
<input id="Button2" type="button" value="button2" />
<img id="testimg" alt="test" />

但是IE下由于缓存的作用,当我点击按钮1时是1.jpg,正常显示。然后我用新的1.jpg代替原来的1.jpg时,显示的还是老的1.jpg。无论你怎么点击,反正就是不会加载新的1.jpg。除非你清理一下缓存。
请问有什么方法能够让jQuery避免这种现象呢?因为我服务器上的新图片会替代原来的就图片。比如上传头像,新的头像会替代旧的头像,但是头像都是用id的形式来命名所以文件名不会变。如何解决呢?
ps:用chrome浏览器不会有此类问题。但是客户要求支持IE浏览器
...全文
173 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dingjugao888 2012-12-06
  • 打赏
  • 举报
回复
嗯 楼上说的对~~
任第一 2012-12-06
  • 打赏
  • 举报
回复
1、时间戳 2、随机数
woaidebushini 2012-12-06
  • 打赏
  • 举报
回复
还有一种办法.不用发起请求获取图片。而是在触发点击事件的时候隐藏其中一张图片。
wangzhen199009 2012-12-06
  • 打赏
  • 举报
回复
引用 1 楼 JParser 的回复:
<script type="text/javascript"> $(function () { $('#Button1').click(function () { $('#testimg').attr({ src: "images/1.jpg?"+new Date().getTime(), al……
原来src还可以这样用,学习了。是不是html所有的标签属性都可以用啊?(即加个?后面跟参数)。以为只是<a>href可以这样用
JParser 2012-12-05
  • 打赏
  • 举报
回复
<script type="text/javascript"> $(function () { $('#Button1').click(function () { $('#testimg').attr({ src: "images/1.jpg?"+new Date().getTime(), alt: "Test Image" }); }) $('#Button2').click(function () { $('#testimg').attr({ src: "images/2.jpg?"+new Date().getTime(), alt: "Test Image" }); }) }) </script>

87,991

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧