【问题标题】:How to implement a Refresh button thats respects caching如何实现尊重缓存的刷新按钮
【发布时间】:2014-08-27 16:01:44
【问题描述】:

我的 PHP 页面上有一个使用 Javascrip (window.location.reload()) 的“刷新”按钮,因此用户可以更新页面。

不幸的是,该页面包含许多 Javascript 和 CSS 库(例如 jQuery),这些库也会随着这种刷新而重新加载。

这些库与一个遥远的未来 Expires: 标头一起提供服务,当用户只是请求主 URL 时,Firefox 不会重新加载这些库。但是使用刷新按钮,Firefox 会发送一个“Cach-Control: max-age: 0”标头,并且所有库都会重新加载。

【问题讨论】:

  • 也许这个答案可以帮助你[如何为 css/js 文件设置缓存][1] [1]:stackoverflow.com/questions/2537185/…
  • 我已经发送了与该答案类似的 Expires 和 Cache-Control 标头。但是 Firefox 的 max-age:0 杀死了这一切......
  • 如果您将按钮 javascript 更改为 href="#" ?或者也许改变 window.location.href ¿?

标签: javascript php caching reload


【解决方案1】:

我必须禁用 ETags (ETags none) 才能使缓存工作,因此服务器将以 304 响应库请求。

将按钮更改为<a href="<?php echo "$_SERVER[SCRIPT_NAME]" ?>">Refresh</a> 即可处理请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-06
    • 1970-01-01
    • 2018-11-07
    • 1970-01-01
    相关资源
    最近更新 更多