vue浏览器返回监听的具体步骤


Posted in Vue.js onFebruary 03, 2021

前言

分享页面时,希望点击浏览器回退按钮,回到项目首页,增加访问量。

需要监听浏览器的回退按钮,并阻止其默认事件。

具体步骤如下:

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.js 相关文章推荐
vue实现图片裁剪后上传
Dec 16 Vue.js
Vue实现指令式动态追加小球动画组件的步骤
Dec 18 Vue.js
Vue与React的区别和优势对比
Dec 18 Vue.js
vue中如何添加百度统计代码
Dec 19 Vue.js
基于vuex实现购物车功能
Jan 10 Vue.js
如何使用RoughViz可视化Vue.js中的草绘图表
Jan 30 Vue.js
Vue+Bootstrap实现简易学生管理系统
Feb 09 Vue.js
vue实现简单数据双向绑定
Apr 28 Vue.js
vue实现同时设置多个倒计时
May 20 Vue.js
Vue的过滤器你真了解吗
Feb 24 Vue.js
vue实现列表垂直无缝滚动
Apr 08 Vue.js
vue ant design 封装弹窗表单的使用
Jun 01 Vue.js
vue实现禁止浏览器记住密码功能的示例代码
Feb 03 #Vue.js
学习 Vue.js 遇到的那些坑
Feb 02 #Vue.js
Vue常用API、高级API的相关总结
Feb 02 #Vue.js
Vue项目打包部署到apache服务器的方法步骤
Feb 01 #Vue.js
如何在vue中使用video.js播放m3u8格式的视频
Feb 01 #Vue.js
Vue 实现可视化拖拽页面编辑器
Feb 01 #Vue.js
vue-video-player 断点续播的实现
Feb 01 #Vue.js
You might like
apache2.2.4+mysql5.0.77+php5.2.8安装精简
2009/04/29 PHP
关于PHP内存溢出问题的解决方法
2013/06/25 PHP
php获取数组中重复数据的两种方法
2013/06/28 PHP
PHP使用CURL实现多线程抓取网页
2015/04/30 PHP
用Laravel Sms实现laravel短信验证码的发送的实现
2018/11/29 PHP
做网页的一些技巧
2007/02/01 Javascript
使用JS进行目录上传(相当于批量上传)
2010/12/05 Javascript
WEB前端开发都应知道的jquery小技巧及jquery三个简写
2015/11/15 Javascript
jquery实现右侧栏菜单选择操作
2016/03/04 Javascript
bootstrap使用validate实现简单校验功能
2016/12/02 Javascript
react native仿微信PopupWindow效果的实例代码
2017/08/07 Javascript
AngularJS模糊查询功能实现代码(过滤内容下拉菜单排序过滤敏感字符验证判断后添加表格信息)
2017/10/24 Javascript
用vue写一个仿简书的轮播图的示例代码
2018/03/13 Javascript
angular2路由之routerLinkActive指令【推荐】
2018/05/30 Javascript
JS使用new操作符创建对象的方法分析
2019/05/30 Javascript
javascript面向对象创建对象的方式小结
2019/07/29 Javascript
小程序如何获取多个formId实现详解
2019/09/20 Javascript
解决vue bus.$emit触发第一次$on监听不到问题
2020/07/28 Javascript
prettier自动格式化去换行的实现代码
2020/08/25 Javascript
HTML中使用python屏蔽一些基本功能的方法
2017/07/07 Python
python编程使用selenium模拟登陆淘宝实例代码
2018/01/25 Python
python编程嵌套函数实例代码
2018/02/11 Python
解决Django layui {{}}冲突的问题
2019/08/29 Python
django中瀑布流写法实例代码
2019/10/14 Python
JackJones官方旗舰店:杰克琼斯男装
2018/03/27 全球购物
创造美妙香氛体验:Aera扩散器和香水
2018/11/25 全球购物
NICKIS.com荷兰:设计师儿童时装
2020/01/08 全球购物
见习期自我鉴定
2014/01/31 职场文书
小学信息技术教学反思
2014/02/10 职场文书
岗位廉政承诺书
2014/03/27 职场文书
赡养老人协议书
2014/04/21 职场文书
骨干教师考核方案
2014/05/09 职场文书
2015年乡镇妇联工作总结
2015/05/19 职场文书
2015年音乐教学工作总结
2015/07/22 职场文书
为什么中国式养孩子很累?
2019/08/07 职场文书
python制作图形界面的2048游戏, 基于tkinter
2021/04/06 Python