回答
退房保罗爱尔兰这个漂亮的jQuery插件idletimer和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');
请注意所涉及的事件: '鼠标移动的keydown DOMMouseScroll滚轮鼠标按下touchstart touchmove' From source code
您也可以使用refresh meta tag做到这一点只用HTML标记,避免全部使用javascript:
<meta HTTP-EQUIV="REFRESH" content="30; url=http://www.yourdomain.com/">
This as认为用户采取的每一个行动都将从当前页面导航到新页面。如果是这种情况,那么通过将其添加到每个页面的头部,只要用户在30秒内不导航到另一个页面,浏览器就会重定向回索引。
然后在30秒后(即使有人仍在使用自助服务终端),它将他们转回家。 – Sparky 2012-04-12 17:06:16
@ Sparky672,这取决于信息亭应用程序的设计方式。如果它使用触摸屏,那么它可能只捕获点击,而这些信息亭通常是由静态HTML文件构建的。在该塞纳里奥这种技术将工作正常。你是对的,如果有页面内的交互,那么就需要一个JavaScript解决方案。 – Prestaul 2012-04-12 17:09:03
如果人们可以解释他们为什么拒绝投票回答,我很乐意。它不会假设任何东西,但提供一些合理的解决方案,我相信JavaScript不是最好的答案。 – Prestaul 2012-04-12 18:08:45
我用两个一元刷新
<meta http-equiv="REFRESH" content="30;url=http://www.the-domain.com">
,延迟了window.location
window.setTimeout("location='http://www.the-domain.com'",30000);
做到这一点。
-1:避免使用字符串评估(包括'setTimeout');改用匿名函数。 – 2012-04-12 17:12:16
我发现这个代码示例是最有用的。
setIdleTimeout(30000); // 30 seconds
document.onIdle = function() {window.location = 'URL to navigate to'}
如果它是一个触摸屏,只需点击足以打破空闲时间,所以
var idle, isIdle;
function createIdle() {
idle = window.setTimeout("alert('hey where are you?')",5000);
}
$("*").click(function(){
clearTimeout(idle);
createIdle();
});
createIdle();
- 1. CSS:每30秒重复动画
- 2. 如何自动检测每30秒的下拉选项
- 3. coreservicesd/lssave每30秒写一次
- 4. 每30秒更改一次iframe源。
- 5. 每30秒运行一次Android服务
- 6. 的Android更新的TextView为每30秒
- 7. 正在重置计数器,每30秒
- 8. AudioUnit每30秒录制一次毛刺
- 9. 每30秒调用一次函数
- 10. 作物MP3到前30秒
- 11. 的setInterval($得到池30秒
- 12. 自动重启的.py每30分钟
- 13. 5分30秒
- 14. 循环通过网页列表每30秒(更新页每30分钟?)
- 15. OnTouchListener,ACTION_UP在30秒超时后自动启动
- 16. UICollectionView垂直自动滚动每3秒
- 17. HttpWebRequest.BeginGetResponse块30-60秒
- 18. 自动化gdb:每10毫秒显示一次回溯
- 19. 每隔几秒就会自动溢出
- 20. 如何自动刷新MVC PartialView每秒
- 21. 用PHP添加30秒到时间
- 22. 报平安每秒钟使用艺术家的动画
- 23. 如何每隔X秒自动刷新一次自动刷新?
- 24. 需要active_record的ruby减慢脚本启动到30秒
- 25. 每100秒垃圾回收
- 26. 如何每30秒显示/更新来自指定哈希标签的推文
- 27. 按秒采样间隔聚合到30秒的间隔,POSIXct
- 28. 滚动到DIV的底部每X秒
- 29. 每周Gmail自动回复
- 30. 超时30秒后,等待
你计划如何定义 '空闲' 时间?你正在测量按键,页面加载,鼠标/光标移动..? – 2012-04-12 17:04:10
如果用户花费超过30秒的时间来简单阅读页面上的内容,该怎么办?太糟糕了,重新开始? – Sparky 2012-04-12 17:11:25