每30秒自动回到家中

时间:2012-04-12 16:57:58

标签: jquery

如何让我的网站每30秒自动回家一次?

我正在设计一个将在医院大厅展示的网站,该网站在触摸屏上运行,以获取一般信息。我们需要在一个人停止使用后自动返回主页。

5 个答案:

答案 0 :(得分:4)

查看Paul Irish和idletimer

这个好的jQuery demo here插件

基本上它会在指定的空闲时间之后触发回调函数,并且在其中可以将其转发回主页。

用法:

// 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');

请注意所涵盖的事件:'mousemove keydown DOMMouseScroll mousewheel mousedown touchstart touchmove'From source code

答案 1 :(得分:0)

我发现这个代码示例最有用。

http://www.bedroomlan.org/coding/detecting-%E2%80%98idle%E2%80%99-and-%E2%80%98away%E2%80%99-timeouts-javascript

setIdleTimeout(30000); // 30 seconds
document.onIdle = function() {window.location = 'URL to navigate to'}

答案 2 :(得分:0)

如果是触摸屏,只需点击足以打破空闲时间,所以

var idle, isIdle;
function createIdle() {
idle = window.setTimeout("alert('hey where are you?')",5000);
}

$("*").click(function(){ 
    clearTimeout(idle);
    createIdle();
});
createIdle();​

http://jsfiddle.net/ocanal/CEEuA/1/

答案 3 :(得分:-1)

您也可以使用refresh meta tag仅使用html标记执行此操作,并避免一起使用javascript:

<meta HTTP-EQUIV="REFRESH" content="30; url=http://www.yourdomain.com/">

这假设用户执行的每个操作都将从当前页面导航到新页面。如果是这种情况,那么通过将其添加到每个页面的头部,只要用户在30秒内没有导航到另一个页面,浏览器就会重定向回索引。

答案 4 :(得分:-1)

我已经使用了元刷新

<meta http-equiv="REFRESH" content="30;url=http://www.the-domain.com">

和延迟的window.location

window.setTimeout("location='http://www.the-domain.com'",30000);

这样做。