我想知道当用户长时间没有键入或单击应用程序时,文档是否有可能过期。 另外,如果用户单击了刷新按钮,则文档已过期?
有人可以举一个例子来说明如何做到这一点吗?我不知道是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毫秒检查一次用户是否触发了文档上的click
或keypress
事件.
例如:
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;
}
}