vue浏览器返回监听的具体步骤
程序员文章站
2022-07-04 23:52:19
前言分享页面时,希望点击浏览器回退按钮,回到项目首页,增加访问量。需要监听浏览器的回退按钮,并阻止其默认事件。具体步骤如下:1、挂载完成后,判断浏览器是否支持popstatemounted(){ if...
前言
分享页面时,希望点击浏览器回退按钮,回到项目首页,增加访问量。
需要监听浏览器的回退按钮,并阻止其默认事件。
具体步骤如下:
1、挂载完成后,判断浏览器是否支持popstate
mounted(){ if (window.history && window.history.pushstate) { history.pushstate(null, null, document.url); window.addeventlistener('popstate', this.goback, false); } },
2、页面销毁时,取消监听。否则其他vue路由页面也会被监听
destroyed(){ window.removeeventlistener('popstate', this.goback, false); },
3、将监听操作写在methods里面,removeeventlistener取消监听内容必须跟开启监听保持一致,所以函数拿到methods里面写
methods:{ goback(){ this.$router.replace({path: '/'}); //replace替换原路由,作用是避免回退死循环 } }
附:popstate用来做什么的?
popstate的怎么用?
html5的新api扩展了window.history,使历史记录点更加开放了。可以存储当前历史记录点pushstate、替换当前历史记录点replacestate、监听历史记录点popstate。
pushstate、replacestate两者用法差不多。
使用方法:
history.pushstate(data,title,url); //其中第一个参数data是给state的值;第二个参数title为页面的标题,但当前所有浏览器都忽略这个参数,传个空字符串就好;第三个参数url是你想要去的链接;
replacestate用法类似,例如:history.replacestate("首页","",location.href+ "#news");
总结
到此这篇关于vue浏览器返回监听的文章就介绍到这了,更多相关vue浏览器返回监听内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
上一篇: 好一点的红酒应该如何辨别
推荐阅读
-
vue App.vue中的公共组件改变值触发其他组件或.vue页面监听
-
详解vue中this.$emit()的返回值是什么
-
Vue使用watch监听一个对象中的属性的实现方法
-
基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍
-
VUE 实现滚动监听 导航栏置顶的方法
-
解决vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效问题
-
详解如何解决vue开发请求数据跨域的问题(基于浏览器的配置解决)
-
vue通过滚动行为实现从列表到详情,返回列表原位置的方法
-
vue-watch如何监听非DOM元素的事件
-
解决Vue.js父组件$on无法监听子组件$emit触发事件的问题