js定时操作,可用于web端超时处理
function ScreenSaver(settings){ this.settings = settings; this.nTimeout = this.settings.timeout; document.body.screenSaver = this; // link in to body events document.body.onmousemove = ScreenSaver.prototype.onevent; document.body.onmousedown = ScreenSaver.prototype.onevent; document.body.onkeydown = ScreenSaver.prototype.onevent; document.body.onkeypress = ScreenSaver.prototype.onevent; var pThis = this; var f = function(){pThis.timeout();} this.timerID = window.setTimeout(f, this.nTimeout); } ScreenSaver.prototype.timeout = function(){ if ( !this.saver ){ //超时后的操作 window.parent.location.href = 'users.jhtml?o=logout'; } } ScreenSaver.prototype.signal = function(){ if ( this.saver ){ this.saver.stop(); } window.clearTimeout(this.timerID); var pThis = this; var f = function(){pThis.timeout();} this.timerID = window.setTimeout(f, this.nTimeout); } ScreenSaver.prototype.onevent = function(e){ this.screenSaver.signal(); } var saver; function initScreenSaver(){ //blort; saver = new ScreenSaver({timeout:1500000}); //超时时间:1s = 1000, 25min = 1500000 //如果25分钟内不操作,则超时退出登录} //function window.onload(){ // initScreenSaver(); //}