可能重复:
如何更改此代码,使其仅在没有鼠标移动时重定向
如果用户没有使用 Javascript 进行任何活动,我想刷新网页。用户活动,如按键或鼠标单击。
可能重复:
如何更改此代码,使其仅在没有鼠标移动时重定向
如果用户没有使用 Javascript 进行任何活动,我想刷新网页。用户活动,如按键或鼠标单击。
这是一个基本的例子
(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()
这将无法正常工作,因为该事件将无法到达元素)
创建一个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);