1

我想知道当用户长时间没有键入或单击应用程序时,文档是否有可能过期。另外,如果用户单击了刷新按钮,那么文档会过期吗?

有人可以举例说明如何做到这一点吗?我不知道是 php 还是 javascript 做到了这一点。

谢谢

4

2 回答 2

1

我不是 PHP 专家,但页面过期规则保持不变,您必须设置适当的标头以使其不被浏览器缓存。

因此,对于第二个问题,您将执行以下操作:

<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
?>

更多信息-阅读示例 #2 缓存指令。

缓存控制 HTTP 标头

首先,您可以结合使用 javascript 事件(如 mousemove、click 等)来检查用户是否处于活动状态,如果没有,则可以显示一些确认对话框。

一个不错的jQuery 插件空闲监视器

优雅地检测 JavaScript 中的空闲时间

于 2012-06-01T07:43:20.363 回答
0

如果用户触发了事件或在文档上,您可以使用setTimeout javascript 函数每隔 X 毫秒检查一次。 例如 :clickkeypress

var expired;

$(document).ready(function(){
    $(document).click(function(){
        expired = false;
    });

    $(document).keypress(function(){
        expired = false;
    });

    setTimeout("check_expired",60000); // Every minutes
});

function check_expired() {
    if(expired == true) {
        //DO SOMETHING
    } else {
        expired = true;
    }
} 
于 2012-06-01T07:46:49.573 回答