当浏览器通过setInterval() 函数处于非活动状态时,我想正确注销。当浏览器处于活动状态时,setInterval不会计数。但是,当浏览器保持空闲状态时,该功能正在计数。即使浏览器处于活动状态,如何实现setInterval计数?的JavaScriptfunction session_checking() { $.post("activitytime.php");} *//Every after 7 mins (60*7) after browser is inactive run activitytime.php*' setInterval(session_checking, 1000*10);的PHP<?phpsession_start();//Do the necessary database updatesession_destroy();
1 回答
芜湖不芜
TA贡献1796条经验 获得超7个赞
您可以使用“窗口”事件和“ clearInterval”
var sessionTimer;
function startTimer(){
sessionTimer = setInterval(session_checking, 1000*10);
}
function stopTimer(){
if(sessionTimer){
clearInterval(sessionTimer);
}
}
function session_checking() {
$.post("activitytime.php");
}
//means tab is active
window.onfocus = function () {
stopTimer();
};
//means tab is passive
window.onblur = function () {
startTimer();
};
另外,如果您想在窗口关闭时调用API,则可以调用
window.onbeforeunload = function(e) {
//call api here
return true;
};
- 1 回答
- 0 关注
- 221 浏览
添加回答
举报
0/150
提交
取消