有没有办法构建一个URL链接,强制浏览器忽略它对该URL可能拥有的任何缓存?
我们有一些网站最近几年静态内容后发生了变化。用户单击快捷方式,收藏夹或键入URL到这些站点并获取旧的缓存内容。我希望有一个页面链接到同一个网址,但会强制浏览器获取新内容。
可能吗?跨浏览器?
答案 0 :(得分:10)
你可以系统地使用日期或时间戳或版本号,或随意使用情景喜剧,布偶,山脉和小型哺乳动物。
答案 1 :(得分:4)
使用唯一值将url参数添加到href的末尾,例如new Date()。getTime():
...somePage.html?time=123456789
答案 2 :(得分:2)
当我需要完整刷新页面时,我只需添加?v=
后跟随机字符串。当浏览器在页面之后检测到查询字符串时,它们会自动绕过缓存(如果缓存版本中不存在相同的查询字符串),因为页面内容可能会根据查询字符串的值而更改。
由于网页可以每秒重新加载一次,因此我使用当前的UNIX时间戳,后跟一个字母和一个介于1和1000之间的随机数。
两个页面获得完全相同的查询字符串的可能性接近于null。
答案 3 :(得分:0)
许多人使用版本查询字符串参数。
查看SO来源
<script type="text/javascript" src="http://sstatic.net/so/js/master.js?v=4143"></script>
特别注意 master.js?v = 4143
就个人而言,我在我的配置文件中设置了这个应用程序范围,但我相信如果你需要更精细的自动版本控制,你可以在你的源代码管理中做到这一点。
答案 4 :(得分:0)
使用javascript强制刷新的HTML链接:
<a href="javascript:location.reload();"
class="btn btn-sm btn-info"><span class="fa fa-refresh"></span></a>