window.location.reload 在各种设备和浏览器上随机运行

Posted

技术标签:

【中文标题】window.location.reload 在各种设备和浏览器上随机运行【英文标题】:window.location.reload working randomly on various devices & browsers 【发布时间】:2018-12-21 18:27:03 【问题描述】:

我已尝试四处寻找答案,并尝试了window.location.reload 的许多变体,但无济于事。

我让用户做的是,他们按下一个按钮来创建一个日期,然后在确认后立即刷新页面,然后在主屏幕上显示新日期。

这适用于我在桌面上尝试过的任何浏览器(Chrome、Edge、Firefox、Opera),但在移动设备上,结果非常随机。

我试过了;

华硕平板电脑(不适用于 Chrome 或内置浏览器) 第四代 iPad(不适用于 Chrome 或 Safari) 三星 S6(适用于 Chrome) 三星 A3(不适用于 Chrome 或内置浏览器)

这是按钮的代码

<div class="row">
 <div class="col col-xs-12 form-group  ">
  <button onClick="window.location.reload();" type="button" class="btn form-btns btn-primary" id="submit_btn" title="Submit Data" data-placement="bottom" >
   <i onClick="window.location.reload();" id="submit_check_icon" class="fa fa-send "></i>  Save
  </button>
 </div>
</div>

您知道这种行为的原因可能是什么吗?

如果我遗漏了任何重要信息,请告诉我,我会修改我的问题。

【问题讨论】:

【参考方案1】:

window.location.reload 适用于所有浏览器,并且没有已知问题。 问题可能是您的浏览器正在显示缓存数据。

window.location.reload 接受参数forcedReload

forcedReload

是一个布尔标志,当它为真时,会导致页面始终 从服务器重新加载。如果为 false 或未指定,则 浏览器可能会从其缓存中重新加载页面。

如果不是这样,那么you can force the refresh in another way赞

history.go(0);location.href = location.href;

【讨论】:

嘿 Hyyan,这太完美了 - 感谢您的解释。尽管使用 location.href = location.href; 强制重载并没有帮助现在,除了 iPad 的 Safari 之外,所有设备都可以完美运行,这不是什么大问题! 很遗憾,这些建议均不适用于移动浏览器(safari、Google chrome)...

以上是关于window.location.reload 在各种设备和浏览器上随机运行的主要内容,如果未能解决你的问题,请参考以下文章

window.location.href=window.location.href 和 window.location.reload() 的区别

为啥我在js里面用window.location.reload(true);不刷新页面?

window.location.Reload()和window.location.href 区别

window.location.Reload()和window.location.href 区别

(window,parent,opener,top).location.reload方法汇总

在 $state.go 之后执行 $window.location.reload(true)