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 08 Vue.js
8个非常实用的Vue自定义指令
Dec 15 Vue.js
基于vue+echarts数据可视化大屏展示的实现
Dec 25 Vue.js
SpringBoot+Vue 前后端合并部署的配置方法
Dec 30 Vue.js
vue编写简单的购物车功能
Jan 08 Vue.js
vue自定义组件实现双向绑定
Jan 13 Vue.js
学习 Vue.js 遇到的那些坑
Feb 02 Vue.js
vue前端和Django后端如何查询一定时间段内的数据
Feb 28 Vue.js
vue实现无缝轮播效果(跑马灯)
May 14 Vue.js
vue使用节流函数的踩坑实例指南
May 20 Vue.js
vue实现拖拽交换位置
Apr 07 Vue.js
vue如何在data中引入图片的正确路径
Jun 05 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
DC动画电影《黑暗正义联盟》曝预告 5月5日上线数字平台
2020/04/09 欧美动漫
Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
2008/12/06 PHP
frename PHP 灵活文件命名函数 frename
2009/09/09 PHP
解析PHP生成静态html文件的三种方法
2013/06/18 PHP
php结合ajax实现手机发红包的案例
2016/10/13 PHP
JavaScript数值转换的三种方式总结
2014/07/31 Javascript
JavaScript中对象property的删除方法介绍
2014/12/30 Javascript
jQuery Mobile动态刷新页面样式的实现方法
2016/05/28 Javascript
javascript如何定义对象数组
2016/06/07 Javascript
js实现截图保存图片功能的代码示例
2017/02/16 Javascript
微信小程序开发之数据存储 参数传递 数据缓存
2017/04/13 Javascript
jquery实现一个全局计时器(商城可用)
2017/06/30 jQuery
详解vue2 $watch要注意的问题
2017/09/08 Javascript
vue按需引入element Transfer 穿梭框
2017/09/30 Javascript
JS实现多物体运动的方法详解
2018/01/23 Javascript
JavaScript同源策略和跨域访问实例详解
2018/04/03 Javascript
微信小程序点击图片实现长按预览、保存、识别带参数二维码、转发等功能
2019/07/20 Javascript
JavaScript在web自动化测试中的作用示例详解
2019/08/25 Javascript
Vue快速实现通用表单验证的示例代码
2020/01/09 Javascript
详解Vue3 Teleport 的实践及原理
2020/12/02 Vue.js
Python文件夹与文件的相关操作(推荐)
2016/07/25 Python
python matplotlib画图实例代码分享
2017/12/27 Python
微信跳一跳游戏python脚本
2020/04/01 Python
Python系统监控模块psutil功能与经典用法分析
2018/05/24 Python
python读取一个目录下所有txt里面的内容方法
2018/06/23 Python
python实现简易数码时钟
2021/02/19 Python
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
2020/04/24 Python
Nice Kicks网上商店:ShopNiceKicks.com
2018/12/25 全球购物
如何为DataGridView添加一个定制的Column Type
2014/01/21 面试题
学习十八大报告感言
2014/02/04 职场文书
幼儿园小班评语大全
2014/04/17 职场文书
企业文明单位申报材料
2014/05/16 职场文书
天下第一关导游词
2015/02/06 职场文书
会计专业自荐信范文
2015/03/05 职场文书
2015年党员创先争优公开承诺书
2015/04/27 职场文书
大学生受助感言
2015/08/01 职场文书