我想在3秒之后重新加载页面,我们访问了页面而没有重复
我尝试过使用
var t;
t=setTimeout(function(){
window.location.reload();
},3000);
但页面正在连续加载
所以我试着这样做
var t;
t=setTimeout(function(){
clearTimeout(t);
window.location.reload();
},3000);
这个技巧也没有奏效
任何人都可以帮助我如何在3秒之后重新加载页面而不重复
答案 0 :(得分:1)
这是因为重新加载页面时,脚本也会重新加载,因此浏览器会再次运行它。一种解决方案是使用cookie。
function SetMeow() {
var a = new Date();
a.setTime(a.getTime() + 9999999999999999999);
document.cookie = "Cat=meow;expires="+a.toGMTString();
}
var b = document.cookie.replace(/(?:(?:^|.*;\s*)Cat\s*\=\s*([^;]*).*$)|^.*$/, "$1");
if(b!="meow"){
var t=setTimeout(function(){
SetMeow();
window.location.reload();
},3000);
}
答案 1 :(得分:0)
您需要一个标志,使用本地存储或cookie,并在重新加载页面时更改。或者每次加载页面时都会再次设置新的间隔。
答案 2 :(得分:0)
好吧,当你刷新页面时,会加载一个全新的页面,所以你实际上不能这样做。
简而言之,您需要在页面之间保存状态,这可以通过多种方式完成:
localStorage是最简单的:
var t = setTimeout (function () {
if (localStorage.dontReload && JSON.parse(localStorage.dontReload)) { return }
window.location.reload();
localStorage.dontReload = true;
}, 3 * 1000);
关于localStorage要记住的事情: