问题描述:
具体的说,就是我要利用一个客户端软件,用同一个文件名不断的传送文件到 HTTP 服务器上,然后在网页中读取那个图片,并且定时刷新图片,但是网页不要刷新,那样应该怎么做?
解析:
<script>
function changesrc(){
var pic=document.getElementById('change')
var img='1.jpeg?'+new Date
pic.src=img
window.setTimeout(changesrc,10000)
}
window.onload=function(){
changesrc()
}
</script>
<img src=1.jpeg id="change" />
业务:采购业务流程中当财务人员打款后需要将打款流水图片上传到ftp服务器上。可是有时会上传出错。所以这里需要一个修改的图片的按钮。问题:当img的src的URL地址与之前相同(只更改图片,名称不变,不同图片相同名称)时,结果图片不变化,还是之前的图片。但通过chrome调试发现图片确实是变化的。那造成这个问题的原因时什么呢?方法:只需要每次刷新图片时,在img的src地址后面拼接一个随机数即可。例子:原有图片地址:<img src="http://img.boredou.com/1234556788.jpg" /> 修改后图片地址:<img src="http://img.boredou.com/1234556788.jpg?23333333" /> 原理:经过在浏览起端调试,发现当src的地址不变时,浏览器会从缓存里面取出来。而浏览器缓存的还是之前的图片。所以图片不会变化。 而当img的src中拼接了随机参数,那么浏览器会认为这是一张新的图片(或者说访问了不同的路径),浏览器每次访问都会访问服务器,而不会访问缓存里数据。