监听浏览器点击后退按钮

跳转前
// 监听浏览器点击后退按钮.js
mounted(){
    if (window.history && window.history.pushState) {
        // console.log('建立监听------------1');
        history.pushState(null, null, document.URL);
        window.addEventListener('popstate', this.goBack, false);
    }
},
destroyed(){
    // console.log('取消监听------------1');
    window.removeEventListener('popstate', this.goBack, false);
},
methods: {
    goBack(){
        // console.log('监听事件');
        this.$router.replace({path: '/login'});
        //replace替换原路由,作用是避免回退死循环
    },
}
跳转后
// 禁止浏览器点击后退按钮
mounted () {
    var query = {};
    var route = this.$route.query;
    if (route.ticket) {
        query.ticket = route.ticket;
    } else if (route.chUser) {
        query.chUser = route.chUser;
    } else if (route.chRole) {
        query.chRole = route.chRole;
    }
    this.$router.replace({ path: '/focus' , query});
 
 
    if (window.history && window.history.pushState) {
        console.log('建立监听------------1');
        history.pushState(null, null, document.URL);
        window.addEventListener('popstate', this.goBack, false);
    }
},
destroyed(){
    // console.log('取消监听------------1');
    window.removeEventListener('popstate', this.goBack, false);
},
methods: {
    goBack(){
        // console.log('监听事件');
        history.pushState(null, null, document.URL);
    },
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容