php 中如何判断浏览器是否操作的是强行刷新

2015-07-15 21:42:06 +08:00
 ohmyga

想用php做生成静态页面,按ctrl+f5强制刷新浏览器然后重新生成静态页面,3Q。

2836 次点击
所在节点    程序员
12 条回复
yangqi
2015-07-15 21:48:51 +08:00
php生成静态页是根据服务器端的状态,前端刷新后端为什么要重新生成,没必要啊
geeglo
2015-07-15 21:52:29 +08:00
还不如写一个cookie来的实在。
learnshare
2015-07-15 21:55:13 +08:00
前端访问后端是无状态的,F5/Ctrl+F5 没区别。
不过你可以在页面里监听键盘事件,来处理这样的特殊刷新。然而对非键盘触发的刷新无效
sumhat
2015-07-15 22:07:14 +08:00
Chrome 的 Ctrl F5 会发出 cache-control:no-cache 的 header
dalaomj
2015-07-15 22:09:53 +08:00
如果发出的请求头信息有 If-Modified-Since,不重新生成。如果没有,重新生成。
txlty
2015-07-15 22:20:37 +08:00
foreach ($_SERVER as $key => $value) {
if ('HTTP_' == substr($key, 0, 5)) {
echo $key ." => ".$value."<br>";
}
}
各种浏览器,刷着玩吧。
Septembers
2015-07-15 22:25:40 +08:00
强制刷新一般有Pragma: no-cache标头
bdbai
2015-07-16 00:24:49 +08:00
@txlty 不能直接var_dump出来?
txlty
2015-07-16 00:27:52 +08:00
@bdbai 干扰条目太多。
laoyuan
2015-07-16 09:16:02 +08:00
@txlty 先asort( ) 排下序
jugelizi
2015-07-16 10:24:11 +08:00
HTTP_CACHE_CONTROL
jugelizi
2015-07-16 10:27:14 +08:00
不过楼主说的有点矛盾啊,你是给用户php生成的纯静态页面的话没法做到强制刷新自动重新生成的啊

js监听键盘事件吧 ctrl+F5的时候ajax请求重新生成然后跳转

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/205951

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX