简述在js或者vue中监听页面的关闭和刷新操作

背景:
大家是否经常遇到关闭页面的时候或者页面的时候,都会弹出一个弹框,问你是否保存数据或者是否可以刷新,目的就是防止不经意刷新导致页面数据丢失,很多人会用到本地存储,但是这样做比较麻烦,根本上就是提示用户,是否进行刷新或者是退出此页面,今天我们已经了解window浏览器自带的刷新拦截提示
利用了HTML DOM事件中的onunload和onbeforeunload方法。


1、onunload

onunload 事件在用户退出页面时发生。
onunload 发生于当用户离开页面时发生的事件(通过点击一个连接,提交表单,关闭浏览器窗口等等。)
注意: onunload 事件同样触发了页面载入事件(+ onload 事件)。

2、onbeforeunload

onbeforeunload 事件在即将离开当前页面(刷新或关闭)时触发。
该事件可用于弹出对话框,提示用户是继续浏览页面还是离开当前页面。
对话框默认的提示信息根据不同的浏览器有所不同,标准的信息类似 “确定要离开此页吗?”。该信息不能删除。

注意:在vue中比较特殊,因为vue是组件的思想,所以用会影响全局,所以在用的时候还是慎重

简单使用
mouted

 window.addEventListener("beforeunload", e => {
    this.beforeunloadHandler(e);
 });

destroyed

window.removeEventListener("beforeunload", e => {
    this.beforeunloadHandler(e);
});

mouted

beforeunloadHandler(e) {
  e = e || window.event;
  if (e) {
    e.returnValue = "您是否确认离开此页面-您输入的数据可能不会被保存";
  }
  return "您是否确认离开此页面-您输入的数据可能不会被保存";
},
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值