我正在使用JQuery空闲时间插件在x分钟的空闲时间后自动注销用户。
但是,该空闲/活动时间也应该在服务器中更新。因此,尝试对active.idleTimer函数内的服务器执行Ajax命中。
<script type="text/javascript">
(function ($) {
var timeout = 1800000;
$(document).bind("idle.idleTimer", function () {
window.location.href = "MyLOGOUT_URL";
});
$(document).bind("active.idleTimer", function () {
$.ajax({ type: "POST", url : "My_URL" });
});
$.idleTimer(timeout);
})(jQuery);
</script>
但是,当用户处于活动状态时,不会调用此active.idleTimer。我在这里做错了什么?
最佳答案
似乎为我工作:
DEMO
尝试将代码放入jQM pageinit事件中,并使用.on()而不是bind:
$(document).on("pageinit", "#page1", function(){
$( document ).idleTimer( 5000 );
$( document ).on( "idle.idleTimer", function(){
$("#textinput-1").val('Idle at: ' + new Date());
});
$( document ).on( "active.idleTimer", function(){
$("#textinput-1").val('Active again at: ' + new Date());
});
});