0

最近做了一个需求,要求是第一个页面时A页面,进入A页面之后,点击浏览器的回退按钮或者回退物理键,则进入B页面。但是,现在遇到一个问题,在IOS的微信中访问A页面的时候,如果不做任何操作,或者仅仅只是滚动了一下页面,然后点击回退按钮,则不会执行popstate事件,直接就退出了,如果做一些操作,就算只是点击了一下屏幕,则再点击回退的时候,就会执行popstate事件了,感觉很奇怪,ios的safari浏览器中就是正常的,android也是正常的,只有IOS的微信浏览器会用这种问题。下面是我的A页面的核心代码:

<script>
      var currentLink = window.location.href;
      currentLink = (currentLink.indexOf('#page1') > -1) ? currentLink : (currentLink + '#page1');
      window.history.pushState(null, null, currentLink);
      function _goBack () {
          window.location.location("http://www.b.com");
      }
  </script>

1个回答

0

请教了好多人,感觉都没有好的答案,只有一个答案感觉还可以,不过是无法解决这个问题:

说是微信的这个返回按钮,开始和浏览器没关系,必须对页面有操作才能是这个按钮与浏览器产生关系,也就是说一开始这个返回按钮就是返回聊天窗口的。

如果有哪位朋友知道更好的解决办法,还望共享一下

撰写答案