window.onunload = (e)=>{ _gap_time = new Date().getTime() - _beforeUnload_time; if(_gap_time<=5){ console.log('关闭') navigator.sendBeacon("/manager/api/v1/login/logout",null) } else{ console.log('刷新') navigator.sendBeacon("/manager/api/v1/login/logout",null) } } } window.onbeforeunload = (e)=>{ _beforeUnload_time = new Date().getTime() }用户关闭或者刷新网页的时候,有时候需要调用后台接口。一般我们通过ajax或者axios等去调用接口。但是在关闭和刷新中调用你会发现console成功但是后台并没有接受到前端的请求,因为调用接口是异步的,很可能在它发送之前,页面已经卸载了,请求并没有发送出去。
浏览器引入的
sendBeacon方法,发出的是异步请求,但是请求是作为浏览器任务执行的,与当前页面是脱钩的。因此该方法不会阻塞页面卸载流程和延迟后面页面的加载。
相关推荐
《UE4游戏开发》之 《音效系统的实现》
音效系统需要负责管理什么事情: 1.1 确定声音控制的分类:如背景音乐、技能音效、界面音效、角色配音等,不同游戏对声音有不同的分类 1.2 控制每个分类的声音的开启与关闭,以及调节每个分类声音的大小 解决如何分类: 2.1 首先需要知道ue4为声音分类提供了什么:SoundClass通常需要一个根分类【SC_RPG_Master】,便于总体控制音效,以及指定引擎默认启动的音效 打开SoundClass资产【SC_RPG_Master】,对根控制的设置,将逐级传递并按比例进行设置,以此达到控制一类声音的目的.
监听浏览器关闭且不监听刷新事件的方法
function closeBrowser() { var _beforeUnload_time = 0, _gap_time = 0 // onunload 发生于当用户离开页面时发生的事件(通过点击一个连接,提交表单,关闭浏览器窗口等等。刷新也会触发) 刷新和关闭浏览器时先触发onbeforeunload再触发onunload 刷新时两次触发的间隔普遍在60毫秒以上 关闭时触发间隔大约在在0-4之间 window.onunload = function () { ...
Verilog 并行 FIR 滤波器设计
FIR(Finite Impulse Response)滤波器是一种有限长单位冲激响应滤波器,又称为非递归型滤波器。FIR 滤波器具有严格的线性相频特性,同时其单位响应是有限长的,因而是稳定的系统,在数字通信、图像处理等领域都有着广泛的应用。
页面关闭时发起接口请求--Navigator.sendBeacon
使用Navigator.sendBeacon(url,data) 发送页面关闭时的接口请求 在项目中遇见需要在页面关闭时发送请求以获得用户关闭时间计算出用户浏览时长 首先是使用 window.$.ajax 方法正常发送请求,但是async:false的情况下接口报错 NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load xxxx(具体原因可百度),将async设置为true则时而无法请求成功,这是因为如果请求是异
ABAP BOM展开避坑指南:CS_BOM_EXPL_MAT_V2函数参数配置详解
本文深入解析了SAP ABAP开发中用于物料清单展开的核心函数CS_BOM_EXPL_MAT_V2。针对其复杂的参数配置,如CAPID、STLAN、DATUV和MEHRS,提供了详细的避坑指南和最佳实践,帮助开发者避免数据错误与性能陷阱,实现高效、准确的BOM多层展开。
Windows10 搭建 FTP 服务器
问题: 有这么一个需求,博主需要对班级同学的信息进行收集,同学的信息是一个个的文件, 正常是每个同学将自己的信息打包压缩通过 QQ 或者邮箱方式发送给博主, 博主一个个接收这些压缩包,然后进行解压,再统一放到一个文件夹下, 但是博主觉得这样子实在是太麻烦了,如果某一个同学的信息来回变动,就需要接收很多次,更改很多次, 另外如果消息过多还会产生漏掉某个同学的信息的问题。 解决方法: 如果可以使...
巨坑!监听浏览器窗口关闭onbeforeunload不起作用(脱坑了啊!!)
因业务需要,特写方法监听浏览器关闭,然后去do something 先声明我没在忽悠,看完能实现这个需求的!! 网上大部分推荐方法如下: window.onbeforeunload= function (e) { e = e || window.event; if (e) { e.returnValue = '关闭提示'; } // C...
别只当玩具!聊聊这个555金属探测器电路背后的电磁感应与RLC调谐原理
本文深入解析了555金属探测器电路的工作原理,重点探讨了电磁感应与RLC调谐原理。通过分析电感线圈的电磁特性、RLC谐振电路的行为以及555定时器的多重功能,揭示了这一看似简单的装置如何实现金属检测。文章还提供了灵敏度优化方案和常见问题解决方法,帮助读者从科学角度理解这一实用技术。
如何在浏览器页面关闭时发送 API 请求
离开网页时,如何发送API请求将数据保存到我们的服务器上
超声波法检测局部放电的原理与实现
摘要:超声波法通过捕捉局部放电产生的声波信号进行检测,系统由超声波传感器、信号调理单元和数据采集系统组成。其核心应用是局放源定位,主要采用时差定位法和声-电联合定位法。该方法具有抗电磁干扰强、定位精确等优点,但也存在信号衰减大、传播路径复杂等缺点,典型应用于变压器、GIS等设备的在线监测与故障诊断。
【VTKExamples::PolyData】第十六期 GradientFilter
本文分享VTK样例GradientFilter,并解析接口vtkGradientFilter & vtkAssignAttribute,希望对各位小伙伴有所帮助!
vue监听浏览器刷新和关闭事件,并在页面关闭/刷新前发送请求
vue监听浏览器刷新和关闭事件,并在页面关闭/刷新前发送请求1.需求背景:2.需求分析:3.实现方式:4.实现方式解析:1)浏览器页面事件基础2)在mounted监听beforeunload和unload事件5.存在的问题/风险点:1)为了避免意外弹出窗口,在页面加载完毕的情况下,用户没有click、dbclick、touch等主动交互行为,直接执行关闭/刷新操作是不会弹出提示框的;2)浏览器提示框的样式和内容是默认的,不能更改;3)在关闭/刷新页面前发送的请求,如果使用axios方式,由于是异步的,在执行
【华为OD机试真题 2025双机位A卷】958、 高效的任务规划 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)
【华为OD机试真题 2025双机位A卷】958、 高效的任务规划 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2025e卷,od机试,2025E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2025华为od,
监听浏览器刷新和关闭事件;visibilitychange
监听浏览器刷新和关闭事件;visibilitychange
复分析 阿尔福斯(Ahlfors) 第三版答案 英文
答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案
pscad IEEE标准系统搭建说明
pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。
vue 管理系统关闭页面/浏览器/关闭tag实现发送请求
直接在beforeDestroy中请求时不合理的,可能会在服务器更新之前返回,返回后状态仍然是锁定的,所以说是不合理的。当点击编辑按钮会跳转到编辑页面中,于此同时会向服务器发送接口,来告知服务器这个库位已经被锁定了,其他人不可以修改。在组件销毁的时候,请求接口,并在请求结束后向返回的页面发送事件。现在就可以在详情页面中调用改变状态的接口后 再更新返回页面的list了 ~点击取消去调用接口然后等待后端将这个单据的改变后进行页面调整是没有问题的。在返回的页面中监听这个事件即可。新建event-bus.js。
老版QQ原生表情gif动态
这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。
浏览器刷新页面/关闭页面时,使用jquery+ajax保存数据的方法
使用jquery+ajax实现:修改页面内容,延迟传输到后台进行保存,并在刷新或关闭页面时,及时保存数据。
Data-Structures-and-Algorithm-Analysis-in-Java.pdf
作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...
js判断浏览器窗口(选项卡)的关闭与刷新(原版)
今日项目遇到一个问题,有一个功能会在浏览器的主窗口中新开一个窗口,然后业务要求:关闭新窗口的时候往后端发个请求,刷新的时候不发送。知道有个onbeforeunload事件是用于捕获关闭浏览器事件(包括刷新)的,但刷新也会走此方法,所以行不通,于是就网上找了找资料,网上回答的最多的大致是这样的 window.onbeforeunload = function() { //鼠标相对于...
Vue.js——监听弹框页面关闭,回刷原页面
问题需求 按钮嵌入另一个系统的页面,在该页面关闭后需要回刷原页面。困难在于链接的目标页面的js不在本系统,只能通过监听页面关闭,再回刷原页面。 实现思路 通过对象监听方式实现。将链接的目标页面作为对象监听,监听该对象是否关闭,同时判断是否回刷原页面。 附上Vue.js代码 huishuaOnClick: function() { //将链接目标页面作为对象 var spwindow...
websocket实现用户登录登出日志,并解决浏览器关闭问题
websocket
微信授权登录页面返回问题,监听微信返回并关闭浏览器
1.我的业务问题 ,ios在打开一个未登陆的页面后,使用 window.location.replace(“https://open.weixin.qq.com/connect/oauth2/authorize?appid=” + window.wxappId + “&redirect_uri=” + window.tosignUrl + “&response_type=code&scope=snsapi_userinfo&state=”+ urlparmas +"&
小程序监听android返回键,如何监听小程序返回按钮事件?
写在前面为了能及时的将自己踩到的前端坑(包括ionic,angular,react,ReactNative,小程序,APICloud)分享给大家,以后会逐渐将文章转移到微信公众号:前端e家(front_e_family)。可直接扫码关注,公众号会不定期更新新文章,分享踩坑笔记!期待您的关注!应用场景:通常情况下,在关闭当前页面时需要同时触发默写方法,最常见的有一下两种场景:场景1.点击返回按钮时,...
关于用户刷新页面或直接关闭页面、浏览器时向后台发送请求的解决方案
用户退出登录时需要修改数据库的登录状态。画面上给了用户“登出”按钮,用于退出登录,跳转至登录画面,这样可以及时向后台发送请求,来修改数据库的登录状态。虽如此,有的用户还是习惯于直接关闭画面,或者浏览器,这个时候原来用axios向后台发送登出请求的方式就行不通了。于是乎,只能换别的招了,残念!最终调查总结出两种方法,亲测有效,就做此记录。 1、jquery 引入jQuery,使用ajax发送同步...
在 UniApp 中,实现下拉刷新
-- 自定义下拉刷新提示 --><text class="refresh-text">正在刷新...</text></view>-- 页面数据列表 --></view>
java 开关按钮_自定义开关按钮-SwitchButton
public class AutoButton extends View implements View.OnTouchListener{//开关背景图private Bitmap bgBitmap;//开关按钮图private Bitmap btnBitmap;private Paint paint;//标记开关滑动的值private int leftDis=0;//标记开关滑动的最大值priv...
H5浏览器和webview后退刷新方案
目录 一、背景 二、思路和方案 三、总结 四、花絮 一、背景 用户点击浏览器工具栏中的后退按钮,或者移动设备上的返回键时,或者JS执行history.go(-1);时,浏览器会在当前窗口“打开”历史纪录中的前一个页面。不同的浏览器在“打开”前一个页面的表现上并不统一,这和浏览器的实现以及页面本身的设置都有关系。
如何监听小程序返回按钮事件?
应用场景: 通常情况下,在关闭当前页面时需要同时触发默写方法,最常见的有一下两种场景:1.点击返回按钮时,发送广播,刷新某个页面的值或者触发某个页面的结果,重新刷新;2.点击返回按钮,返回到指定页面,而非上个页面; 目前实现: 翻阅所有小程序的官方文档,尚未给出监听返回按钮的事件,因此如果想让 上述场景1中的刷新其他指定页面、或者请求其他页面接口,不过也可采用其他方法实现这个功能。 ...
2126



被折叠的 条评论
为什么被折叠?



