操作页面刷新后,数据不能及时更新1+

14,457 views / 2009.09.01 / 6:06 下午

众所周知,刷新页面可以直接在html的head标签中使用如下代码:

<meta http-equiv="refresh" content="1; URL=http://www.71j.cn">

其中content中的数字1表示等待是时间(秒)

也可以使用php发送头消息:

header("location:http://71j.cn");

甚至可以使用js中window.location.reload()方法,但是我们在开发过程中发现,因为浏览器或者CDN等带有的缓存机制会使页面刷新后,数据得不到刷新。

解决办法如下:

function autorefresh(){
var s="&";
var href=window.location.href;
if(href.indexOf("t=")==-1){
if(href.indexOf("?")==-1) s="?";
window.location.href+=s+"t="+new Date().getTime();
}else{
window.location.href = href.replace(/t=[0-9]+/,"t="+new Date().getTime());
}
}

这样给url加上时间戳,可以有效解决本问题。

Categories: 感悟 Tags: , , ,