我正在探索一个潜在的内部内容交付系统,我们必须在其中跟踪学生的任务时间。只要学生与页面交互,就没有问题。如果学生出去吃午饭,页面打开,会话应该超时,超时后他们将不会获得在线时间的积分。
我已经知道我可以轻松地捕获事件,例如离开页面并使用 PHP 将该事实记录到 MySQL 中的学生记录中,但是让学生超时的最佳方法是什么?JavaScript?我环顾四周,还没有找到好的解释。
谢谢你的帮助!
- - - - - 编辑 - - - - - - -
在 Floris 建议查看有关闲置的特定帖子后,大多数人建议使用 JQuery 解决方案,但一位发帖者有一个没有 JQuery 的简单解决方案。这段代码看起来会起作用吗?对我来说看起来不错:
var inactivityTime = function () {
var t;
window.onload = resetTimer;
document.onmousemove = resetTimer;
document.onkeypress = resetTimer;
function logout() {
alert("You are now logged out.")
//location.href = 'logout.php'
}
function resetTimer() {
clearTimeout(t);
t = setTimeout(logout, 3000)
// 1000 milisec = 1 sec
}
};