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 相关文章推荐
Vue3配置axios跨域实现过程解析
Nov 25 Vue.js
Vue实现简单购物车功能
Dec 13 Vue.js
Vue——前端生成二维码的示例
Dec 19 Vue.js
vue 实现基础组件的自动化全局注册
Dec 25 Vue.js
vue编写简单的购物车功能
Jan 08 Vue.js
Vue单页面应用中实现Markdown渲染
Feb 14 Vue.js
Vue多选列表组件深入详解
Mar 02 Vue.js
vue首次渲染全过程
Apr 21 Vue.js
使用vue-element-admin框架从后端动态获取菜单功能的实现
Apr 29 Vue.js
vue实现可拖拽的dialog弹框
May 13 Vue.js
详解vue身份认证管理和租户管理
May 25 Vue.js
解决vue中provide inject的响应式监听
Apr 19 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
建立文件交换功能的脚本(一)
2006/10/09 PHP
用mysql触发器自动更新memcache的实现代码
2009/10/11 PHP
PHP设计模式之观察者模式(Observer)详细介绍和代码实例
2014/04/08 PHP
php中常见的sql攻击正则表达式汇总
2014/11/06 PHP
php 利用socket发送GET,POST请求的实例代码
2020/07/04 PHP
jquery 表单取值常用代码
2009/12/22 Javascript
JavaScript编程开发中的五个实用小技巧
2010/07/22 Javascript
javascript异步编程的4种方法
2014/02/19 Javascript
jquery实现图片预加载
2015/12/25 Javascript
再谈javascript注入 黑客必备!
2016/09/14 Javascript
js中动态创建json,动态为json添加属性、属性值的实例
2016/12/02 Javascript
bootstrap插件treeview实现全选父节点下所有子节点和反选功能
2017/07/21 Javascript
解决Vue使用swiper动态加载数据,动态轮播数据显示白屏的问题
2018/09/27 Javascript
jQuery使用ajax传递json对象到服务端及contentType的用法示例
2020/03/12 jQuery
vue 解决setTimeOut和setInterval函数无效报错的问题
2020/07/30 Javascript
JS实现密码框效果
2020/09/10 Javascript
[06:53]DOTA2每周TOP10 精彩击杀集锦vol.3
2014/06/25 DOTA
Python中处理时间的几种方法小结
2015/04/09 Python
在NumPy中创建空数组/矩阵的方法
2018/06/15 Python
python实现桌面托盘气泡提示
2019/07/29 Python
Python将主机名转换为IP地址的方法
2019/08/14 Python
django admin 自定义替换change页面模板的方法
2019/08/23 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
2020/02/27 Python
python中shell执行知识点
2020/05/06 Python
python import 上级目录的导入
2020/11/03 Python
CSS中几个与换行有关的属性简明总结
2014/04/15 HTML / CSS
简单整理HTML5的基本特性和语法
2016/02/18 HTML / CSS
马来西亚网上美容店:Hermo.my
2017/11/25 全球购物
欧洲领先的电子和电信零售商和服务提供商:Currys PC World Business
2017/12/05 全球购物
Redbubble法国:由独立艺术家设计的独特产品
2019/01/08 全球购物
泰国王权免税店官方网站:KingPower
2019/03/11 全球购物
工商干部先进事迹
2014/05/14 职场文书
从事会计工作年限证明
2015/06/23 职场文书
中学生国庆节演讲稿2015
2015/07/30 职场文书
《海上日出》教学反思
2016/02/23 职场文书
python实现腾讯滑块验证码识别
2021/04/27 Python