关闭页面向后台发送消息

简介: 关闭页面向后台发送消息

场景描述


场景描述:在用户刷新页面或者关闭页面的时候,前端要给后台发一条请求,释放该页面的授权占用。


最初的代码


window.addEventListener("beforeunload", () => {
let oReq = new XMLHttpRequest();
oReq.open("POST", "http://127.0.0.1:8080/exit");
oReq.send(JSON.stringify({name: "南风晚来晚相识"}));


经过测试


刷新页面时基本满足需求(偶尔也会有后台接收不到请求的现象,但概率很低)

关闭页面时,后台接收不到请求


哦豁,尴尬了


navigator.sendBeacon()


navigator.sendBeacon()  这个方法主要用于满足统计和,


这些代码通常尝试在卸载(unload)文档之前向web服务器发送数据


使用方式: navigator.sendBeacon(url, data);


说明:


url 参数表明 data 将要被发送到的网络地址。


data 参数是将要发送的 ArrayBufferView 或 Blob 、DOMString 或者 FormData 类型的数


返回值


当用户代理成功把数据加入传输队列时,sendBeacon() 方法将会返回 true,否则返回 false


使用navigator.sendBeacon()


window.addEventListener("beforeunload", (e) => {
    const data = {name: "南风晚来晚相识"};
    window.navigator.sendBeacon("http://127.0.0.1:8080/exit", JSON.stringify(data));
});


相关文章
|
8月前
|
存储 JavaScript 安全
JS 监听用户页面访问&页面关闭操作并进行数据上报
JS 监听用户页面访问&页面关闭操作并进行数据上报 第一次进入页面时触发页面访问 刷新当前页面时触发页面访问 新 tab 进入页面时触发页面访问 当前页面点击 nav 进入其他模块时,触发页面关闭&页面访问 关闭页面时触发页面关闭
64 0
|
9月前
如何解决由引起的IQKeyboardManager部分页面返回的键盘高度比实际小或最后收到键盘隐藏通知却显示了键盘问题
如何解决由引起的IQKeyboardManager部分页面返回的键盘高度比实际小或最后收到键盘隐藏通知却显示了键盘问题
139 0
|
9月前
|
iOS开发
个推发送消息各字段在系统状态栏显示的信息,点击消息图标激活应用传递的信息,应用在线收到的透传消息信息
个推发送消息各字段在系统状态栏显示的信息,点击消息图标激活应用传递的信息,应用在线收到的透传消息信息
81 0
|
9月前
|
开发者
在用户关闭页面时,提示用户有内容未保存-论onbeforeunload事件的用法
在用户关闭页面时,提示用户有内容未保存-论onbeforeunload事件的用法
162 0
|
小程序 开发工具 开发者
微信小程序订阅消息点了 “总保持以上选择、全部拒绝,不在询问” 无法再次弹出
微信小程序订阅消息点了 “总保持以上选择、全部拒绝,不在询问” 无法再次弹出
1571 0
|
JSON 前端开发 JavaScript
前端重新部署如何通知用户刷新网页?
如果后端可以配合我们的话我们可以使用webSocket 跟后端进行实时通讯,前端部署完之后,后端给个通知,前端检测到Message进行提示,还可以在优化一下使用EvnentSource 这个跟socket很像只不过他只能后端往前端推送消息,前端无法给后端发送,我们也不需要给后端发送。
198 0
前端重新部署如何通知用户刷新网页?
|
安全 开发者
3. 该微信用户未开启“公众号安全助手”的消息接收功能,请先开启后再绑定
公众号管理员添加开发者时,提醒:该微信用户未开启“公众号安全助手”的消息接收功能,请先开启后再绑定
304 0
|
SQL 关系型数据库 MySQL
开启关闭服务器以及登录退出客户端 | 学习笔记
快速学习开启关闭服务器以及登录退出客户端。
224 1
开启关闭服务器以及登录退出客户端 | 学习笔记
|
SQL Python
DjangoAdmin后台的一些设置
DjangoAdmin后台的一些设置
115 0
|
Web App开发 前端开发 API
你知道关闭页面时怎么向后台发送消息吗?
这两天碰到一个需求:在用户刷新页面或者关闭页面的时候,前端要给后台发一条请求,释放该页面的授权占用。
244 0
你知道关闭页面时怎么向后台发送消息吗?

热门文章

最新文章