强制刷新的HTML链接?

时间:2009-08-13 17:49:28

标签: html browser refresh

有没有办法构建一个URL链接,强制浏览器忽略它对该URL可能拥有的任何缓存?

我们有一些网站最近几年静态内容后发生了变化。用户单击快捷方式,收藏夹或键入URL到这些站点并获取旧的缓存内容。我希望有一个页面链接到同一个网址,但会强制浏览器获取新内容。

可能吗?跨浏览器?

5 个答案:

答案 0 :(得分:10)

  1. 使用无意义的查询参数更改指向该页面的所有链接:products.html?happy = days
  2. 更改页面上的所有资源以使用另一个无意义的查询参数:style.css?the = fonz
  3. 你可以系统地使用日期或时间戳或版本号,或随意使用情景喜剧,布偶,山脉和小型哺乳动物。

答案 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>