Javascript 是否可以将setTimeout函数存储在本地存储器中?
前提是我有下面的javascript代码Javascript 是否可以将setTimeout函数存储在本地存储器中?,javascript,jquery,local-storage,settimeout,Javascript,Jquery,Local Storage,Settimeout,前提是我有下面的javascript代码 var timeout = setTimeout(function(){ alert('this is executed after 5 seconds'); }, 5000); localStorage.setItem('timeout_event', timeout); 我已经检查了setTimeout函数的返回值是否为id或其他内容。如果用户刷新页面,如何重新运行超时事件?有可能吗 任
var timeout = setTimeout(function(){
alert('this is executed after 5 seconds');
}, 5000);
localStorage.setItem('timeout_event', timeout);
我已经检查了setTimeout函数的返回值是否为id或其他内容。如果用户刷新页面,如何重新运行超时事件?有可能吗
任何帮助都可以。提前感谢。如果希望在刷新页面时执行超时功能,只需在
窗口中添加该功能。onload
var timeout = setTimeout(function(){
alert('this is executed after 5 seconds');
}, 5000);
window.onload = timeout;
这对我来说很好
如果你想让它被执行多次,那么选择
它将一直执行,直到您调用clearInterval(超时)代码>
如果你想要多次超时,那么你应该这样做
var timeout = setTimeout(function(){
alert('this is executed after 1 second');
}, 1000);
var timeout1 = setTimeout(function(){
alert('this is executed after 2 seconds');
}, 2000);
var timeout2 = setTimeout(function(){
alert('this is executed after 3 seconds');
}, 3000);
window.onload = timeout;timeout1;timeout2;
这是因为setTimeout会在页面刷新时计算时间,这对我来说很好如果希望在页面刷新时执行超时函数,只需在窗口中添加该函数。onload
var timeout = setTimeout(function(){
alert('this is executed after 5 seconds');
}, 5000);
window.onload = timeout;
这对我来说很好
如果你想让它被执行多次,那么选择
它将一直执行,直到您调用clearInterval(超时)代码>
如果你想要多次超时,那么你应该这样做
var timeout = setTimeout(function(){
alert('this is executed after 1 second');
}, 1000);
var timeout1 = setTimeout(function(){
alert('this is executed after 2 seconds');
}, 2000);
var timeout2 = setTimeout(function(){
alert('this is executed after 3 seconds');
}, 3000);
window.onload = timeout;timeout1;timeout2;
这是因为setTimeout计算页面刷新后的时间,这对我来说很好
我已经检查了setTimeout
函数的返回值是否为id或其他内容
是的,它是一个数字id,您可以将其传递到clearTimeout
,以取消计划的函数运行
如果用户刷新页面,如何重新运行超时事件
是的,当页面卸载时,所有未完成的超时都将中止,因此您需要在新页面上重新启动超时
有可能吗
是和否。您将无法运行从上一页计划的函数-其所有上下文/范围都将丢失-您需要在新页的上下文中创建一个新的
但是,如果您希望基于跨页面的超时/间隔执行某些功能,可以使用或类似的方法来执行。您将存储指定函数运行的时间戳,以及它是否已经运行的标志。这样,您就可以在下面的页面上检查是否以及何时需要重新安排功能
我已经检查了setTimeout
函数的返回值是否为id或其他内容
是的,它是一个数字id,您可以将其传递到clearTimeout
,以取消计划的函数运行
如果用户刷新页面,如何重新运行超时事件
是的,当页面卸载时,所有未完成的超时都将中止,因此您需要在新页面上重新启动超时
有可能吗
是和否。您将无法运行从上一页计划的函数-其所有上下文/范围都将丢失-您需要在新页的上下文中创建一个新的
但是,如果您希望基于跨页面的超时/间隔执行某些功能,可以使用或类似的方法来执行。您将存储指定函数运行的时间戳,以及它是否已经运行的标志。这样,您就可以在下面的页面上查看是否以及何时需要重新安排该功能。谢谢大家的帮助
我设法找到了解决问题的办法
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Testing</title>
<script type="text/javascript">
var timeout_time = 10;
var time_remaining = 0;
if(localStorage.getItem('timeout_time')==null){
run_timeout(timeout_time);
}
else{
run_timeout(localStorage.getItem('timeout_time'))
}
setInterval(function(){
time_remaining = localStorage.getItem('timeout_time');
if(time_remaining > 1 || time_remaining != null){
localStorage.setItem('timeout_time', time_remaining - 1);
}
}, 1000);
function run_timeout(time){
setTimeout(function(){
alert('executed on 10 seconds');
localStorage.removeItem('timeout_time');
}, time * 1000);
localStorage.setItem('timeout_time', time);
}
</script>
</head>
<body>
This is the test page.
</body>
</html>
测试
var超时时间=10;
var时间_剩余=0;
if(localStorage.getItem('timeout\u time')==null){
运行超时(超时时间);
}
否则{
运行超时(localStorage.getItem('timeout\u time'))
}
setInterval(函数(){
剩余时间=localStorage.getItem('timeout_time');
如果(剩余时间>1 | |剩余时间!=null){
setItem('超时时间',剩余时间-1);
}
}, 1000);
函数运行超时(时间){
setTimeout(函数(){
警报(“10秒执行”);
localStorage.removietem('timeout_time');
},时间*1000);
setItem('timeout\u time',time);
}
这是测试页面。
我希望这能对其他人有用
再次感谢大家。谢谢大家的帮助
我设法找到了解决问题的办法
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Testing</title>
<script type="text/javascript">
var timeout_time = 10;
var time_remaining = 0;
if(localStorage.getItem('timeout_time')==null){
run_timeout(timeout_time);
}
else{
run_timeout(localStorage.getItem('timeout_time'))
}
setInterval(function(){
time_remaining = localStorage.getItem('timeout_time');
if(time_remaining > 1 || time_remaining != null){
localStorage.setItem('timeout_time', time_remaining - 1);
}
}, 1000);
function run_timeout(time){
setTimeout(function(){
alert('executed on 10 seconds');
localStorage.removeItem('timeout_time');
}, time * 1000);
localStorage.setItem('timeout_time', time);
}
</script>
</head>
<body>
This is the test page.
</body>
</html>
测试
var超时时间=10;
var时间_剩余=0;
if(localStorage.getItem('timeout\u time')==null){
运行超时(超时时间);
}
否则{
运行超时(localStorage.getItem('timeout\u time'))
}
setInterval(函数(){
剩余时间=localStorage.getItem('timeout_time');
如果(剩余时间>1 | |剩余时间!=null){
setItem('超时时间',剩余时间-1);
}
}, 1000);
函数运行超时(时间){
setTimeout(函数(){
警报(“10秒执行”);
localStorage.removietem('timeout_time');
},时间*1000);
setItem('timeout\u time',time);
}
这是测试页面。
我希望这能对其他人有用
再次感谢大家。检查timeout
的值。它只是一个计时器的整数ID,可以传递到clearTimeout
setTimeout
返回计时器的ID,每次重新打开浏览器时它都会重置。请检查timeout
的值。它只是一个计时器的整数ID,您可以将其传递到clearTimeout
setTimeout
返回计时器的ID,并且每次重新打开浏览器时它都会重置。我们有没有办法运行多个超时变量?哦..我的意思是…使用