Vue.js微信浏览器左上角返回按钮的监听

问题描述

微信开发的时候,在公众号菜单中打开一个H5页面(如:个人中心),在这个页面上的一些操作,经过多次跳转后,点击左上角的返回按钮,发现会原封不动的返回至上一级页面。

即 公众号菜单->A->B->C,点击返回后,返回了B(且无刷新),目的是要在C直接跳转至A(公众号菜单->A->B->C,C->A),虽然可以在C上添加按钮之类的操作进行跳转(公众号菜单->A->B->C->A),但当点击左上角返回按钮后,依然是会返回C页面,并且,也无法确保用户不去点击左上角的返回按钮。

解决方式

在C页面中添加如下javascript代码:

<script>
 
    mounted() {
      pushHistory();  
      //添加返回事件监听
      window.addEventListener("popstate", function(e) {  //回调函数中实现需要的功能
        alert("我监听到了浏览器的返回按钮事件啦"); 
        location.href='你要跳转的链接';  //在这里指定其返回的地址
    }, false);
    },
    methods: {
      pushHistory() {   // 修改history
        var state = {  
          title: "title",  
          url: "__SELF__"  // 这个url可以随便填,只是为了不让浏览器显示的url地址发生变化,对页面其实无影响
        };  
        window.history.pushState(state, state.title, state.url);  
      }
 }
  </script>

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