Javascriptを使用しているユーザーによるアクティビティがない場合は、Webページを更新したいと思います。キープレスまたはマウスクリックのようなユーザーアクティビティ。
質問する
13029 次
2 に答える
16
ここに基本的な例があります
(function(seconds) {
var refresh,
intvrefresh = function() {
clearInterval(refresh);
refresh = setTimeout(function() {
location.href = location.href;
}, seconds * 1000);
};
$(document).on('keypress click', function() { intvrefresh() });
intvrefresh();
}(15)); // define here seconds
これにより、キーを押すイベントやクリックイベントがなくても、15秒ごとにページが更新されます(ただし、他の場所で同じイベントが定義されている場合stopPropagation()
、イベントが要素に到達できないため、これは正しく機能しません)
于 2012-06-01T11:33:19.857 に答える
6
ページを更新するタイマー(setTimeout
)を作成し、キーを押すかマウスを押すたびに、タイマーを再起動します。
必要なことのほとんどを実行するコードについては、この質問を参照してください。
FWIW、これがF.Calderanの答えを次のように書き直したものです。
- 不要なクロージャを排除する
- アクションをコールバックとして提供することにより、アクションを繰り返しから分離します
-
function setIdle(cb, seconds) {
var timer;
var interval = seconds * 1000;
function refresh() {
clearInterval(timer);
timer = setTimeout(cb, interval);
};
$(document).on('keypress click', refresh);
refresh();
}
setIdle(function() {
location.href = location.href;
}, 15);
于 2012-06-01T11:35:45.700 に答える