当会话[ 1 ]空闲特定时间(例如:10 分钟)时,如何触发任何操作。
我正在使用 Grails 做一个 Web 应用程序。如果系统空闲了一段时间,我需要持有一些特定的任务。系统空闲时是否可以触发任何操作?
注意:我不是在询问会话超时。默认情况下,如果会话空闲 30 分钟,它应该注销。
[ 1 ] : 这里是感觉系统中的会话。我的 Web 应用程序托管在一台服务器上,许多用户可以访问该应用程序。如果某个用户的系统空闲了一段时间,那么我需要保留该特定用户的任务。我怎样才能做到这一点?
当会话[ 1 ]空闲特定时间(例如:10 分钟)时,如何触发任何操作。
我正在使用 Grails 做一个 Web 应用程序。如果系统空闲了一段时间,我需要持有一些特定的任务。系统空闲时是否可以触发任何操作?
注意:我不是在询问会话超时。默认情况下,如果会话空闲 30 分钟,它应该注销。
[ 1 ] : 这里是感觉系统中的会话。我的 Web 应用程序托管在一台服务器上,许多用户可以访问该应用程序。如果某个用户的系统空闲了一段时间,那么我需要保留该特定用户的任务。我怎样才能做到这一点?
根据 HTTP 请求-响应模式的性质,您无法根据用户(非)交互触发任何服务器端任务。
您可以使用 JavaScript 在客户端“观看”用户会话,并在客户端和/或服务器端触发任何任务。我使用jQuery idleTimer来检测用户是否处于活动状态。
使用此插件,您可以绑定到多个事件以检测用户的空闲和重新激活。如果触发了空闲事件,您可以执行 AJAX 调用来触发任何服务器端任务,如下所示:
$.idleTimer(10000);
$(document).bind("idle.idleTimer", function(){
// function you want to fire when the user goes idle (e.g. do an AJAX call)
$.post('${yourActionURL}', function(data) {
// handle response
});
});
希望有帮助!