操作页面刷新后,数据不能及时更新1+
93,723 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加上时间戳,可以有效解决本问题。
本站内容受著作权法保护。个人 blog 转载时请遵循 “署名-非商业用途-保持一致” 的创作共用协议;商业网站或未授权媒体不得复制本站内容。
Mark :今天对js的autorefresh函数做了更新,解决了一个兼容性bug.