Javascript 主体加载时的Java脚本函数调用
我有一个java脚本函数,我在body load mousemove()上调用了该函数。该函数正在工作,但问题是该函数没有重载。代码如下:Javascript 主体加载时的Java脚本函数调用,javascript,Javascript,我有一个java脚本函数,我在body load mousemove()上调用了该函数。该函数正在工作,但问题是该函数没有重载。代码如下: function timeout(){ setTimeout ("logout()",60000); } function logout() { parent.parent.location="logout.php"; } <body on
function timeout(){
setTimeout ("logout()",60000);
}
function logout()
{
parent.parent.location="logout.php";
}
<body onmousemove="timeout()" >
函数超时(){
设置超时(“注销()”,60000);
}
函数注销()
{
parent.parent.location=“logout.php”;
}
现在的问题是,它在加载正文和鼠标移动时调用,但页面在指定时间后仍会移动到注销页面,但它应该覆盖鼠标移动和函数调用时的时间。每次调用
setTimeout
时,它都会向队列添加另一个调用。换句话说,您没有替换当前超时。要修复它,您需要先取消现有的超时事件,然后再调用clearTimeout
,使用上一次调用setTimeout
的值来启动另一个超时事件
var timeoutID = null;
function timeout() {
if (timeoutID !== null) {
clearTimeout(timeoutID);
}
timeoutID = setTimeout(logout, 60000);
}
我还将调用更改为
setTimeout
,以传递对logout
函数的引用,而不是字符串。最好避免传递字符串,因为它使用eval
,并且不是必需的。每次调用setTimeout
时,都会向队列添加另一个调用。换句话说,您没有替换当前超时。要修复它,您需要先取消现有的超时事件,然后再调用clearTimeout
,使用上一次调用setTimeout
的值来启动另一个超时事件
var timeoutID = null;
function timeout() {
if (timeoutID !== null) {
clearTimeout(timeoutID);
}
timeoutID = setTimeout(logout, 60000);
}
我还将调用更改为setTimeout
,以传递对logout
函数的引用,而不是字符串。最好避免传递字符串,因为它使用eval
,并且不是必需的