2012-04-12 11 views
2

30秒ごとに自動的にサイトを自宅に戻す方法を教えてください。30秒ごとに自動的に家に戻る

私は、病院のロビーに表示されるサイトを設計しています。このサイトは一般的な情報として、タッチスクリーンで操作します。私たちは、人がそれを使用するのをやめた後、自動的にホームサイトに戻る必要があります。

+1

、アイドル時間を壊すのに十分なクリック?キーの押下、ページの読み込み、マウス/カーソルの動きを測定していますか? –

+1

ユーザーがページ上の何かを読むだけで30秒以上かかる場合はどうなりますか?あまりにも悪いですか? – Sparky

答えて

4

は、基本的には、指定されたアイドル時間後にコールバック関数をトリガすると、その内側にあなたが戻ってホームページにそれを転送することができポール・アイリッシュとdemo here

からこの素敵なjQueryのidletimerプラグインをチェックしてください。

使用法:

// 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マウスホイールマウスダウンtouchstart touchmove' From source code

-1

あなたはまたrefresh meta tagを使用してちょうどHTMLマークアップでこれを行うと、避けることができます一緒にjavascriptを使用する:

ユーザーが取るすべてのアクションは、現在のページから新しいページに移動します。その場合、各ページの先頭にこれを追加することで、ユーザーが30秒以内に別のページに移動しないときはいつでも、ブラウザはインデックスにリダイレクトされます。

+0

その後、30秒後(誰かがまだキオスクを使用している間でさえ)、家に戻します。 – Sparky

+0

@ Sparky672は、キオスクアプリケーションの設計方法に依存します。タッチスクリーンを使用している場合、おそらくクリックをキャプチャするだけであり、そのようなキオスクは静的なHTMLファイルから頻繁に構築されます。そのシナリオでは、このテクニックはうまくいくでしょう。ページ内のやりとりがある場合は、JavaScriptのソリューションが必要になることは間違いありません。 – Prestaul

+0

人々がなぜこの答えに投票していないのか説明できるなら、私は大好きです。それは何も想定していないが、javascriptが最良の答えではないと思ういくつかのシナリオでは正当な解決策を提供している。 – Prestaul

-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:文字列evalの使用を避ける( 'setTimeout'を含む)。代わりに匿名関数を使用してください。 –

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/

関連する問題