【问题标题】:Refresh the page after first load but not if I refresh it again?首次加载后刷新页面,但如果我再次刷新则不刷新?
【发布时间】:2013-11-26 09:50:18
【问题描述】:

我想在第一次加载后重新加载我的 html 页面,但如果页面刷新则不重新加载。我所做的是:

 window.onload = function() {
    if(!window.location.hash) {
        window.location = window.location + '#loaded';
        window.location.reload();
    }
   }

但是使用这种方法,如果我刷新页面,它会重新加载,这是我不想要的。有什么解决方案可以避免这种情况吗?提前致谢。

【问题讨论】:

  • 为什么要在页面第一次加载时重新加载?
  • 因为在 mozilla firefox 中,我的某些功能在第一次加载页面时在主页上不起作用。但是如果我刷新页面,它可以根据需要完全正常工作。它也适用于其他浏览器。
  • 那么你应该调查并解决这个问题,而不是引入一个新问题。
  • 嗯.. 这听起来像XY Problem。您需要修复 Firefox 中的问题,而不是创建此解决方法。

标签: javascript jquery html


【解决方案1】:

使用localStorage 来实现这一点。

试试:

alert("page load")
if(localStorage.getItem("reload") != "1"){
    localStorage.setItem("reload","1");
    window.location.href = window.location.href;
}
else{
    localStorage.removeItem("reload");
}

【讨论】:

  • 请注意,这不适用于 IE7 或更低版本或 iOS safari CanIuse
【解决方案2】:

这样就可以了,但是如何防止在除 Firefox 之外的所有浏览器上重新加载?

if (window.location.href.toLowerCase().indexOf("loaded") < 0) {
        window.location = window.location.href + '?loaded=1'
   }

【讨论】:

    【解决方案3】:

    尝试设置cookie并检查

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-03
      • 2020-11-08
      • 2013-12-25
      • 2011-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-12
      相关资源
      最近更新 更多