微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript只重新加载一次

我不知道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
    }
});

它是更好的会话存储而不是localstorage,因为下次用户进入页面时将设置标志.

编辑

存储页面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
    }
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐