在实际开发项目中,有时候我们需要在刷新和关闭时,触发一些功能,那么如何监听到页面的刷新和关闭呢?

1. 在methods中定义事件方法:

methods: {beforeunloadFn(e) {console.log('刷新或关闭')// ...}
}

2. 在created 或者 mounted 生命周期钩子中绑定事件

created() {window.addEventListener('beforeunload', e => this.beforeunloadFn(e))
}

3. 在 destroyed 钩子卸载事件

destroyed() {window.removeEventListener('beforeunload', e => this.beforeunloadFn(e))
}

测试了页面刷新和关闭都能监听到。

项目实测

回到我自己的项目,可以使用 onbeforeunload 事件和 beforeDestroy 钩子函数结合:

created() {window.addEventListener('beforeunload', this.beforeunloadFn())
},
destroyed() {window.removeEventListener('beforeunload', this.beforeunloadFn())
},
methods: {gotoPage(path){this.$router.push(path);this.$store.state.iframeSrc = this.$route.meta.link;this.$store.state.iframeTitle = this.$route.meta.title;},beforeunloadFn() {console.log('刷新或关闭');if(this.$route.path == '/system/knowledgeGraph') {this.gotoPage(this.graphItems.path);}}
}

vue项目中监听页面刷新和关闭相关推荐

  1. Vue中监听页面刷新和关闭beforeunload事件

    代码 在methods中定义事件方法,在mounted 生命周期钩子中绑定事件, 在destoryed钩子中卸载事件 mounted () {window.addEventListener('befo ...

  2. vue 监听页面刷新或关闭

    参考:https://blog.csdn.net/weixin_43915587/article/details/93628935 发现 beforeDestroy 只能监听到页面间的跳转,无法监听到 ...

  3. VUE监听页面刷新和关闭事件

    背景:公司有一个数据看板,,需求是要统计看板有多少人看过,,每个人停留的曝光时间 使用技术:目前使用的技术是 后端Springboot 权限用的是SpringSecurity,前端页面是 Vue+El ...

  4. Vue项目中监听全屏事件,实现全屏功能和按esc退出全屏(解决全屏踩坑难题)

    展示效果: 全屏功能 代码: <el-buttontype="button"id="full-btn-medium"@click="VideoF ...

  5. vue监听浏览器刷新和关闭事件,并在页面关闭/刷新前发送请求

    vue监听浏览器刷新和关闭事件,并在页面关闭/刷新前发送请求 1.需求背景: 2.需求分析: 3.实现方式: 4.实现方式解析: 1)浏览器页面事件基础 2)在mounted监听beforeunloa ...

  6. vue输入框输入触发事件_详解.vue文件中监听input输入事件(oninput)

    详解.vue文件中监听input输入事件(oninput) .vue文件其实是一个组件,关于它的说明我之前也写过一篇文章,地址:.vue文件,今天这篇文章要讲的是.vue文件中监听input的输入值变 ...

  7. vue输入框输入触发事件_.vue文件中监听input输入事件oninput详解

    .vue文件其实是一个组件,关于它的说明我之前也写过一篇文章,地址:.vue文件,今天这篇文章要讲的是.vue文件中监听input的输入值变化事件.需求是这页面中,改变input的值,就调用一个事件, ...

  8. 如何在vue项目中引入html页面

    在vue项目中引入html页面的两种方法 第一种:/static/page.html 第二种:通过iframe嵌入 第一种:/static/page.html 在static或public文件夹下,新 ...

  9. vue项目中跳转页面,页面从顶部开始

    vue项目中采用路由机制,当页面进行跳转,滚轮的位置不会改变 mounted() {//设置滚动条指定document.documentElement.scrollTop=0},

最新文章

  1. 再见,数据库!MySQL千亿数据分库分表架构,堪称惊艳!
  2. Exchange2010SP1配置OWA下次登录时更改密码提醒
  3. Ubuntu Server 安装部署 Cacti 服务器监控
  4. java 项目初始化一个定时任务_elastic-job 分布式定时任务框架 在 SpringBoot 中如何使用(一)初始化任务并定时执行...
  5. UNIX再学习 -- 函数 fork 和 vfork
  6. iOS之深度剖析UIScrollView的实现原理与阻尼动画
  7. java nanotime 重复_Java中System.nanoTime方法能作为一个唯一字符串来使用吗
  8. 写给萌新,聊聊你初入职场的那些疑惑~
  9. python paramiko模块下载_Python自动化运维实战:使用Python管理网络设备
  10. java读c二进制文件_如何使用JAVA读取C / Matlab创建的二进制文件
  11. 【专栏必读】王道考研408操作系统万字笔记(从学生角度辅助大家理解):各章节导航及思维导图
  12. 用有穷状态自动机描述计算机网络的传输层协议,计算机网络基椽—第八章(传输层)(全).ppt...
  13. dw的php文件怎么连接mysql_wordpress php文件如何链接到mysql数据库
  14. Atitit.jsou html转换纯文本 java c# php
  15. java集合uml_Java开源UML建模集合
  16. 视觉SLAM十四讲学习笔记——ch5 相机与图像
  17. 【OpenGL游戏开发之一】MAC OS X And Win7 vs2010 搭建OpenGL
  18. 099 《少有人走的路:心智成熟的旅程》简记
  19. 新个税计算html、以及java源代码
  20. 灭霸一个响指,被腰砍的电子阅读市场步入终局之战?

热门文章

  1. angular2 表格打印 -essence-ng2-print插件
  2. C# 数据库查询语句1
  3. VSCode使用插件美化json数据格式
  4. Python_Openpyxl
  5. 使用visio绘制无线信号符号
  6. 艾泰路由器端口映射怎么设置
  7. C# ffmpeg 录制音视频
  8. 港藤商贸插上世纪福星珠宝软件翅膀
  9. gemfire java_gemfire基本使用以及spring-data-gemfire的使用
  10. 微信公众号开发笔记(九)发送语音消息