解决IOS微信页面后退不刷新问题

在IOS微信的页面,用户回退,数据没有刷新,手动刷新才有数据
以下是解决办法:

var browserRule = /^.*((iPhone)|(iPad)|(Safari))+.*$/
if (browserRule.test(navigator.userAgent)) {
  window.onpageshow = function (event) {
    if (event.persisted) {
      // window.location.reload()
      // 这里的刷新改为调用我要初始化的数据
    }
  }
}

测试两台苹果机,一台最新版本,上面的代码没问题,页面会刷新,一台ios12版本的没刷新,然后,就换了一种方法,脑壳疼啊啊啊,再不行,我就没辙了。。。。

pushHistory () {
  window.addEventListener("popstate", function (e) {
    self.location.reload();
  }, false);
  var state = {
    title: "",
    url: "#"
  };
  window.history.replaceState(state, "", "#");
}

页面初始化时调用该方法,亲测有效,我太难了。。。

你可能感兴趣的:(前端)