2012-04-12 52 views
2

如何让网站每30秒自动回到家中?每30秒自动回到家

我正在设计一个网站,将显示在医院的大堂,该网站在触摸屏上操作,以获取一般信息。一个人停止使用后,我们需要自动返回到本地。

+1

你计划如何定义 '空闲' 时间?你正在测量按键,页面加载,鼠标/光标移动..? – 2012-04-12 17:04:10

+1

如果用户花费超过30秒的时间来简单阅读页面上的内容,该怎么办?太糟糕了,重新开始? – Sparky 2012-04-12 17:11:25

回答

4

退房保罗爱尔兰这个漂亮的jQuery插件idletimerdemo 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'); 

请注意所涉及的事件: '鼠标移动的keydown DOMMouseScroll滚轮鼠标按下touchstart touchmove' From source code

-1

您也可以使用refresh meta tag做到这一点只用HTML标记,避免全部使用javascript:

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

This as认为用户采取的每一个行动都将从当前页面导航到新页面。如果是这种情况,那么通过将其添加到每个页面的头部,只要用户在30秒内不导航到另一个页面,浏览器就会重定向回索引。

+0

然后在30秒后(即使有人仍在使用自助服务终端),它将他们转回家。 – Sparky 2012-04-12 17:06:16

+0

@ Sparky672,这取决于信息亭应用程序的设计方式。如果它使用触摸屏,那么它可能只捕获点击,而这些信息亭通常是由静态HTML文件构建的。在该塞纳里奥这种技术将工作正常。你是对的,如果有页面内的交互,那么就需要一个JavaScript解决方案。 – Prestaul 2012-04-12 17:09:03

+0

如果人们可以解释他们为什么拒绝投票回答,我很乐意。它不会假设任何东西,但提供一些合理的解决方案,我相信JavaScript不是最好的答案。 – Prestaul 2012-04-12 18:08:45

-1

我用两个一元刷新

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

,延迟了window.location

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

做到这一点。

+0

-1:避免使用字符串评估(包括'setTimeout');改用匿名函数。 – 2012-04-12 17:12:16

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/