如何使应用程序页面过期


How to expire an application page

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

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

谢谢

我不是 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 事件的组合,如鼠标移动,单击 e.t.c 检查用户是否处于活动状态,如果不是,则可以显示一些确认对话框。

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

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

您可以使用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;
    }
}