javascript 只重新加载一次

标签 javascript jquery

我不懂 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/

相关文章:

javascript - AngularJS 条件格式化 Ng-repeat

javascript - 如何使用 javascript 打开模态并显示内容

javascript - 如何显示进度条直到加载整个 aspx 页面?

javascript - 如何在 slider 博主中居中图像

javascript - 使用 Parse.com 使用 Javascript 值填充 HTML 表格

javascript - 计算值的总和

jquery - 我们可以在 2013 年修复 Youtube 拒绝 'toString' 问题吗?

javascript - IE9双下拉问题

javascript - JS/CSS : How to change z-index value after scrolling down past 1200 pixels (in height)?

jquery - 检查按钮是否被单击并在单击函数之外返回警报