移动端浏览器后退不刷新

2019-11-0674次阅读IOS

主要会发生在webview里多一点,当点击后退时页面以缓存形式出现,而不是刷新后的,很多情况下这不是你预期的效果,解决方法是用js

//方法1:
window.addEventListener('pageshow', () => {
  if (e.persisted || (window.performance && 
    window.performance.navigation.type == 2)) {
    location.reload()
  }
}, false);

//方法2:
window.history.replaceState(null, '', window.location.href + '?timestamp=' + new Date().getTime());

onpageshow每次页面加载都会触发,无论是从缓存中加载还是正常加载,这是他和onload的区别;persisted判断页面是否从缓存中读出。

页面通过历史记录和前进后退访问时,type值为2。

 

上一篇: 移动端点击元素产生背景或边框怎么去掉  下一篇: JavaScript数组常用的13个技巧  

移动端浏览器后退不刷新相关文章