2012-04-12 56 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/