您当前的位置:首页 > 计算机 > 编程开发 > Html+Div+Css(前端)

移动端使用 window.location.reload() 无法重新加载网页

时间:12-14来源:作者:点击数:
城东书院 www.cdsy.xyz

Vue 项目开启了 keep-alive 缓存,但是总是会遇到有些地方缓存清理不干净,索性在用户退出的时候重新加载整个网页,使用的就是 window.location.reload() 函数,在本地调试的时候完全没有问题,但是在手机上就无法重载网页。

我发现一个问题,当一个网页的地址最后面是一个 # 时(比如:https://www.cdsy.xyz/study/#/):

  • 执行:window.location.replace(window.location.href);  浏览器不刷新页面。
  • 经过测试: window.location.href = window.location.href;  浏览器也不刷新页面。
  • 经过测试:window.location.reload(); PC 浏览器会刷新页面,安卓也会刷新,但是 IOS 不会刷新。

既然如此,我们可以强制去掉 # 符号和后面的参数,然后再强制刷新:

let url = window.location.href
url = url.split('#')
window.location.replace(url[0]);

这样完美解决移动端使用 window.location.reload() 无法重新加载网页的问题。

城东书院 www.cdsy.xyz
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐