js 监听 页面 刷新 关闭 时 所触发的事件

文章探讨了onbeforeunload和onunload两个事件在页面关闭或刷新时的触发顺序和限制。onbeforeunload先于onunload执行,且能阻止onunload的默认行为,常用于创建离开提醒。然而,onunload事件内无法执行异步ajax,需借助navigator.sendBeacon发送请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这篇文章我们来了解一下  页面关闭或刷新时 触发的几个事件 onbeforeunload 和 onunload

 这两个方法中 onbeforeunload 方法  这个方法是要比 onunload 先执行的  并且它可以阻止 onunload 方法的执行 onbeforeunload 方法里可以家伙是那个弹窗做成类似于离开网页时的提醒 其他博客帖子里说这个方法写在<body> 或者使用 window.onbeforeunload 可以在页面刷新或者关闭的时候触发 你在这里面执行的方法但是我在使用的时候只有 window.onbeforeunload 这样写他里面的方法才可以正常执行并且只有刷新的时候才会执行关闭的时候是不执行的 可能是我哪里没用对

onunload  事件这个是页面刷新或关闭的时候都会执行 但是它里面无法写异步的ajax 只能将ajax 改成同步执行才能生效 但是我这边使用的时候不论是同步还是异步都是无法执行的 并且他里面弹窗是无法执行的  所以想要在 这里面执行请求只能使用   navigator.sendBeacon() 来进行请求  

JavaScript中,`onupload`事件是用于监听文件上传操作的。如果你在页面上使用这个事件监听器,通常情况下,页面刷新不会触发`onupload`事件。`onupload`事件只有在用户执行了文件上传操作才会被触发。 然而,页面刷新可能会触发其他事件,例如`beforeunload`或`unload`事件,这些事件用于处理页面卸载前的清理工作。如果你希望在页面刷新执行某些操作,可以监听这些事件。 以下是一个简单的示例,展示了如何监听`onupload`事件页面刷新事件: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Upload Event Example</title> </head> <body> <input type="file" id="fileInput"> <script> document.getElementById('fileInput').addEventListener('change', function(event) { if (event.target.files.length > 0) { console.log('File selected:', event.target.files[0].name); } }); window.addEventListener('beforeunload', function(event) { // 标准浏览器会忽略自定义消息 event.preventDefault(); event.returnValue = ''; }); window.addEventListener('unload', function(event) { // 清理工作 console.log('Page is unloading'); }); </script> </body> </html> ``` 在这个示例中: 1. 当用户选择一个文件,`change`事件会被触发,并执行相应的回调函数。 2. 当页面即将刷新关闭,`beforeunload`事件会被触发。 3. 当页面已经卸载,`unload`事件会被触发
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值