有发现一个问题,就是H5页面中,有时候通过手机物理键返回上一页后页面不会自动刷新,这样子就有可能造成页面数据更新不及时

在网上搜索后发现一个解决办法,使用window监听pageShow

window.addEventListener('pageshow', function (e) {
    if(e.persisted || (window.performance && window.performance.navigation.type == 2)){
            window.location.reload()
    }
});

  

 1、增加监听在mounted

    if (window.history && window.history.pushState) {
                // 往历史记录里面添加一条新的当前页面的url
                history.pushState(null, null, document.URL);
                // 给 popstate 绑定一个方法 监听页面刷新
                window.addEventListener('popstate', this.returnHome, false);//false阻止默认事件
            }

2、页面销毁时,取消监听。否则其他vue路由页面也会被监听

destroyed(){
  window.removeEventListener('popstate', this.backChange, false);//false阻止默认事件
},

 

posted on 2020-07-13 21:48  白不了的黑发  阅读(1343)  评论(0编辑  收藏  举报