1

我希望如果我的页面上 5 分钟没有活动,那么页面将被重定向到预定义的页面。

谁能建议我如何使用 JavaScript 或 jQuery 来做到这一点。

4

4 回答 4

8

如果你想要一个真正的不活动控制,请使用这个库(它也控制鼠标键盘活动)

jQuery 空闲计时器

http://paulirish.com/2009/jquery-idletimer-plugin/

这是一个使用它的示例:

// idleTimer() takes an optional argument that defines the idle timeout
// timeout is in milliseconds; defaults to 30000
$.idleTimer(10000);


$(document).bind("idle.idleTimer", function(){
 // function you want to fire when the user goes idle
});


$(document).bind("active.idleTimer", function(){
 // function you want to fire when the user becomes active again
});

// pass the string 'destroy' to stop the timer
$.idleTimer('destroy');
于 2012-09-06T12:22:01.137 回答
6

可能与此类似?

<body onmousemove="canceltimer()" onclick="canceltimer()">

<script type="text/javascript">

var tim = 0;
function reload() {
tim = setTimeout("location.reload(true);",300000);   // 5 minutes
}

function canceltimer() {
window.clearTimeout(tim);  // cancel the timer on each mousemove/click
reload();  // and restart it
}

</script>
于 2012-09-06T12:11:57.080 回答
0

嗨,请查看这篇关于检测网站中空闲用户的博客文章。它是一个jQuery Idletimer 插件。您可以在此处找到演示页面

简单用法:

// idleTimer() takes an optional argument that defines the idle timeout
// timeout is in milliseconds; defaults to 30000
$.idleTimer(10000);

你从github获得jQuery Idletimer Plugin的源代码

于 2012-09-06T12:25:24.097 回答
-3

难道你不能将 META Refresh 设置为你想要的超时秒数并指向适当的重定向页面吗?

<META HTTP-EQUIV="Refresh" CONTENT="60;url=http://www.mydomain.com/redirect_page.html">

我知道这通常是不受欢迎的,但它避免了对 jQuery(或 Javascript,就此而言)的需要,并且所有浏览器都尊重它。

有时简单更好,即使它很丑陋。

于 2013-08-26T18:17:34.870 回答