有没有一种方法可以把一些代码放到我的页面上,这样当有人访问网站时,它就会清除浏览器缓存,这样他们就可以查看更改了?
使用的语言: ASP.NET、VB.NET,当然还有HTML、CSS和jQuery。
发布于 2009-12-18 00:27:18
如果这是关于.css
和.js
的更改,一种方法是“缓存崩溃”,即在每个版本的文件名后附加类似"_versionNo
“的内容。例如:
script_1.0.css // This is the URL for release 1.0
script_1.1.css // This is the URL for release 1.1
script_1.2.css // etc.
或者,在文件名之后执行此操作:
script.css?v=1.0 // This is the URL for release 1.0
script.css?v=1.1 // This is the URL for release 1.1
script.css?v=1.2 // etc.
你可以查看这个link,看看它是如何工作的。
发布于 2009-12-18 00:26:20
查看cache-control和expires元标记。
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="EXPIRES" CONTENT="Mon, 22 Jul 2002 11:12:01 GMT">
另一种常见的做法是将不断变化的字符串附加到所请求文件的末尾。例如:
<script type="text/javascript" src="main.js?v=12392823"></script>
发布于 2009-12-18 00:27:27
不是这样的。一种方法是在传递内容时发送适当的头部,以强制浏览器重新加载:
Making sure a web page is not cached, across all browsers.
如果你在SO上搜索"cache header"
或类似的东西,你会找到ASP.NET特有的例子。
另一种不太干净但有时只能在服务器端控制头部的方法是向被调用的资源添加一个随机的GET参数:
myimage.gif?random=1923849839
https://stackoverflow.com/questions/1922910
复制相似问题