2012-03-11 109 views
4

我试图在页面加载时清除浏览器缓存和/或阻止页面被缓存。这里是我头里面的东西,它不工作:如何从html页面清除缓存?

<meta http-equiv="cache-control" content="no-cache" /> 
<meta http-equiv="Pragma" content="no-cache" /> 
<meta http-equiv="Expires" content="-1" /> 
+0

它因浏览器而异。谷歌提供了一些建议[这里](https://support.google.com/accounts/bin/answer.py?hl=zh-CN&answer=32050) – DOK 2012-03-11 17:33:33

+0

我想从它们正在加载的页面中执行此操作。没有他们知道。 – Intecpsp 2012-03-11 17:44:34

回答

3

你的元代码应该适用于大多数浏览器的网页内容。但是,对于资源文件(JavaScript,图像,CSS),您的里程可能会有所不同。大多数缓存清除策略涉及更改资源文件的名称(可能是动态的)或使用Apache重写规则来伪装名称已更改。这谷歌搜索应该把你放在正确的轨道上。

cache busting strategy for js 

祝你好运。

1

你的元标签应该足够了。但是对于资源,它可能会有所不同只是一个变量,附加到文件名,如:

var img = new Image(); 
img.src = 'image.jpg?'+ Math.random() 

img.src = 'image.jpg?'+ new Date().getTime() 

如果你是使用JavaScript加载资源。 或者你可以写一个Apache的mod_rewrite引擎的规则来自动编写一个随机哈希。

不过我相信一定有更优雅的解决方案