我不懂 javascript,我在发帖前试图找到答案。
$(function(){
$('body').fadeIn(1000);
setTimeout(function(){
$('body').fadeOut(2000, function(){
location.reload(true);
});
}, 5000); // 5 seconds for demo
});
在此处查看工作中的代码:http://jsfiddle.net/7duedzkb/5/
此代码每 5 秒重新加载一个页面。我想将其修改为仅重新加载一次页面,基本上它会在 5 秒后重新加载页面,然后停止重新加载循环。我在聚合器类型的网站上需要这个,在打开第一页时,提要是从缓存中加载的,以解决速度问题。
你能帮忙吗?非常感激。 谢谢
最佳答案
只有当特定条件为真时,您才必须重新加载。例如,您可以在 sessionStorage 中保存一个标志并读取如果存在则不重新加载。
var store = window.sessionStorage;
$(function(){
$('body').fadeIn(1000);
if(!store.getItem("reloaded")) {
setTimeout(function(){
$('body').fadeOut(2000, function(){
store.setItem("reloaded", "true");
location.reload(true);
});
}, 5000); // 5 seconds for demo
}
});
这是更好的 session 存储而不是本地存储,因为下次用户访问该页面时将设置标志。
编辑
存储页面 URL 的解决方案(假设 URL 是唯一的):
var store = window.sessionStorage;
var page = window.location.href;
$(function(){
$('body').fadeIn(1000);
if(!store.getItem("reloaded-"+page)) {
setTimeout(function(){
$('body').fadeOut(2000, function(){
store.setItem("reloaded-"+page, "true");
location.reload(true);
});
}, 5000); // 5 seconds for demo
}
});
关于javascript 只重新加载一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35697574/