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 05 Vue.js
vue+echarts实现中国地图流动效果(步骤详解)
Jan 27 Vue.js
vue集成一个支持图片缩放拖拽的富文本编辑器
Jan 29 Vue.js
vue仿携程轮播图效果(滑动轮播,下方高度自适应)
Feb 11 Vue.js
基于vue的video播放器的实现示例
Feb 19 Vue.js
Vue实现todo应用的示例
Feb 20 Vue.js
vite2.0+vue3移动端项目实战详解
Mar 03 Vue.js
如何理解Vue前后端数据交互与显示
May 10 Vue.js
SSM VUE Axios详解
Oct 05 Vue.js
关于Vue中的options选项
Mar 22 Vue.js
vue-cil之axios的二次封装与proxy反向代理使用说明
Apr 07 Vue.js
关于vue-router-link选择样式设置
Apr 30 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
php数组随机排序实现方法
2015/06/13 PHP
PHP使用file_get_content设置头信息的方法
2016/02/14 PHP
php使用redis的有序集合zset实现延迟队列应用示例
2020/02/20 PHP
javascript 异常处理使用总结
2009/06/21 Javascript
HTML node相关的一些资料整理
2010/01/01 Javascript
javascript hashtable 修正版 下载
2010/12/30 Javascript
Javascript base64编码实现代码
2011/12/02 Javascript
jquery.artwl.thickbox.js  一个非常简单好用的jQuery弹出层插件
2012/03/01 Javascript
没有document.getElementByName方法
2013/08/19 Javascript
NodeJs基本语法和类型
2015/02/13 NodeJs
jQuery实现DIV层收缩展开的方法
2015/02/27 Javascript
Javascript仿京东放大镜的效果
2017/03/01 Javascript
JS通过调用微信API实现微信支付功能的方法示例
2017/06/29 Javascript
关于axios不能使用Vue.use()浅析
2018/01/12 Javascript
NodeJS安装图文教程
2018/04/19 NodeJs
JS实现全屏预览F11功能的示例代码
2018/07/23 Javascript
详解在Node.js中发起HTTP请求的5种方法
2019/01/10 Javascript
微信小程序实现吸顶特效
2020/01/08 Javascript
[03:24][TI9纪实] Dota奶爸
2019/08/22 DOTA
Python-基础-入门 简介
2014/08/09 Python
用实例详解Python中的Django框架中prefetch_related()函数对数据库查询的优化
2015/04/01 Python
一些Python中的二维数组的操作方法
2015/05/02 Python
Python for Informatics 第11章之正则表达式(四)
2016/04/21 Python
wxpython多线程防假死与线程间传递消息实例详解
2019/12/13 Python
美国Rue La La闪购网站:奢侈品、中高档品牌限时折扣
2016/10/19 全球购物
Born鞋子官网:Born Shoes
2017/04/06 全球购物
公司JAVA开发面试题
2015/04/02 面试题
应付会计岗位职责
2013/12/12 职场文书
2014学雷锋活动总结
2014/03/09 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话
2014/10/21 职场文书
乔迁之喜答谢词
2015/01/05 职场文书
2015年高三年级组工作总结
2015/07/21 职场文书
新娘婚礼致辞
2015/07/27 职场文书
小学教师教学随笔
2015/08/14 职场文书
《学会看病》教学反思
2016/02/17 职场文书
Python合并多张图片成PDF
2021/06/09 Python