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();   
//}   

你可能感兴趣的:(Web,prototype,F#)