欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-04 13:07:47
...

问题描述

微信开发的时候,在公众号菜单中打开一个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>
相关标签: 前端