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 02 Vue.js
详解vue中使用transition和animation的实例代码
Dec 12 Vue.js
vue实现图片裁剪后上传
Dec 16 Vue.js
vue 使用 sortable 实现 el-table 拖拽排序功能
Dec 26 Vue.js
vue使用transition组件动画效果的实例代码
Jan 28 Vue.js
vue-video-player 断点续播的实现
Feb 01 Vue.js
Vue实现todo应用的示例
Feb 20 Vue.js
vue-element-admin项目导入和导出的实现
May 21 Vue.js
SSM VUE Axios详解
Oct 05 Vue.js
vue选项卡切换的实现案例
Apr 11 Vue.js
vue3种table表格选项个数的控制方法
Apr 14 Vue.js
vue elementUI批量上传文件
Apr 26 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+mysql扎实个人基本功
2008/03/27 PHP
Apache+php+mysql在windows下的安装与配置图解(最新版)
2008/11/30 PHP
PHP中strtotime函数使用方法分享
2012/01/10 PHP
php selectradio和checkbox默认选择的实现方法详解
2013/06/29 PHP
PHP不用递归实现无限分级的例子分享
2014/04/18 PHP
基于jQuery中对数组进行操作的方法
2013/04/16 Javascript
javascript获取鼠标位置部分的实例代码(兼容IE,FF)
2013/08/05 Javascript
让IE8浏览器支持function.bind()方法
2014/10/16 Javascript
超炫的jquery仿flash导航栏特效
2014/11/11 Javascript
js实现文字跟随鼠标移动而移动的方法
2015/02/28 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
2016/06/21 Javascript
jQuery如何封装输入框插件
2016/08/19 Javascript
通过JS和PHP两种方法判断用户请求时使用的浏览器类型
2016/09/01 Javascript
js自制图片放大镜功能
2017/01/24 Javascript
vue-cli3.0使用及部分配置详解
2018/08/29 Javascript
微信小程序学习笔记之登录API与获取用户信息操作图文详解
2019/03/29 Javascript
利用JavaScript将Excel转换为JSON示例代码
2019/06/14 Javascript
Vue组件通信中非父子组件传值知识点总结
2019/12/05 Javascript
jQuery实现动态加载瀑布流
2020/09/01 jQuery
vue项目配置同一局域网可使用ip访问的操作
2020/10/23 Javascript
python xml解析实例详解
2016/11/14 Python
浅谈dataframe中更改列属性的方法
2018/07/10 Python
Flask框架踩坑之ajax跨域请求实现
2019/02/22 Python
python安装本地whl的实例步骤
2019/10/12 Python
Python实现银行账户资金交易管理系统
2020/01/03 Python
python nohup 实现远程运行不宕机操作
2020/04/16 Python
Python2.6版本pip安装步骤解析
2020/08/17 Python
2014年入党积极分子党课学习心得体会模板
2014/04/03 职场文书
践行党的群众路线心得体会
2014/11/05 职场文书
2014年卫生监督工作总结
2014/12/09 职场文书
军训个人总结
2015/03/03 职场文书
公司财务经理岗位职责
2015/04/08 职场文书
2015年服务员工作总结
2015/04/08 职场文书
商务信函英语问候语
2015/11/10 职场文书
演讲开头怎么书写?
2019/08/06 职场文书
Python自动化爬取天眼查数据的实现
2021/06/15 Python