2012-11-16 201 views
0

我可以以某种方式强制执行浏览器重新加载吗? 我已经使用这个:强制浏览器重新加载

header("Expires: Mon, 2 Jan 2012 05:00:00 GMT"); 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
header("Cache-Control: no-cache, must-revalidate"); 
header("Pragma: no-cache"); 

但是,如果我在我的网站改变例如JavaScript的代码,我的网站的访客必须手动重新加载页面为更新的JavaScript。我是否也必须在.js文件中发送标题?这个怎么做?

+1

你的JS文件多久改变一次?!? –

+0

你的问题不清楚。您想要重新加载浏览器的事件?意味着什么时候浏览器应该重新加载? “但是,如果我改变例如我的网站上的JavaScript代码”是什么意思?这个改变是什么意思? –

+0

[window.location.reload()](http://www.w3schools.com/jsref/met_loc_reload.asp) – Tyranron

回答

1

浏览器可能应该是这个更好,但改变这种:

<script src="file.js"> 

这样:

<script src="file.js?last-modified-time-goes-here"> 

这将在每次加载最新JS文件,你没有改变文件名!

+2

某些缓存代理不喜欢查询字符串的方式,如果您有权访问Web服务器,请尝试将时间戳嵌入到文件名中,并使用rewirte规则映射到真实文件。 – complex857