navigator.sendBeacon

navigator.sendBeacon(url, data)

用于向服务器异步发送小的HTTP数据。主要用于满足统计和诊断代码的需要。

  • 默认是发post请求,后端需要能够post接收数据
  • Beacon API不提供相应的回调,因此后端返回最好省略response body,(例如,204 No Content)
  • navigator.sendBeacon()之后的代码可以执行
时间: 2024-11-08 22:09:58

navigator.sendBeacon的相关文章

使用 navigator.sendBeacon() 上报数据

http://kaifage.com/notes/76/navigator-sendBeacon.html 如某些统计系统,在页面unload时,如果要上报当前数据,采用xhr的同步上报方式,会阻塞当前页面的跳转:使用new Image有可能遇到aborted,导致无法成功发送.现在好了,可以使用浏览器来提供发送保障的更简洁的sendBeacon方法.sendBeacon是异步的,不会影响当前页到下一个页面的跳转速度,且不受同域限制. window.addEventListener('unloa

温故而知新 前端日志上传新姿势 navigator.sendBeacon(信标)

原文地址:https://mp.weixin.qq.com/s/-moAfEZicrFmun4qfWLdOQ 简单示例js: var data = JSON.stringify({ name: 'Berwin' }); navigator.sendBeacon('http://localhost:80/index.php', data) 简单php示例: 由于是新标发送的数据是 "text/plain" 数据类型,所以用$GLOBALS['HTTP_RAW_POST_DATA']接受,

利用 sendBeacon 发送统计信息

我们经常会在网站追踪用户的信息,比如记录用户的停留时间. window.addEventListener("unload", () => { // sendHTTP }); 但是如果发送是XHR请求的话.页面会阻塞.google了发现有一个api是可以支持的 大致是说 navigator.sendBeacon 可以用来发送一些小量的数据,特别适合统计场景,且这个请求是异步的,不受浏览器行为限制:即使浏览器关闭请求也能照样发出. var data = new FormData();

window.onerror 错误监听,发到后台

var doc = document.body || document.documentElement; var _onerror = Onerror(''); var Onerror = function(url){ this.init(url); } Onerror.prototype.init = function(url){ this.url = url; this.system = this._system(); this.browser = this._browser(); this

谷歌 analytics.js 简要分析

下面是部分翻译过的JS,看起来好看些.   (function () { function setHref(a, b) { return a.href = b; } function setName(a, b) { return a.name = b; } //使用情况的埋点 var allusage = new function () { var array = []; this.set = function (b) { array[b]= true; }; this.usageFlag =

谷歌 analytics.js 部分解密版

源:http://www.google-analytics.com/analytics.js (function(){var aa=encodeURIComponent,f=window,ba=setTimeout,n=Math;function Pc(a,b){return a.href=b}function fa(a,b){return a.name=b} var Qc="replace",q="data",m="match",xc=&quo

ARTS第七周

ARTS是什么? Algorithm:每周至少做一个leetcode的算法题: Review:阅读并点评至少一篇英文技术文章: Tip/Techni:学习至少一个技术技巧: Share:分享一篇有观点和思考的技术文章. Algorithm 本周的算法题是一道关于链表的题目19. Remove Nth Node From End of List,给定一个列表,要求移除倒数第n个节点,并返回头结点. ? 解题思路 由于我们并不知道列表有多长,所以得遍历列表探测当前节点是否是列表尾节点,又因为我们需要

window备忘录

1.window.name属性是一个字符串,表示当前窗口的名字,只有当浏览器窗口关闭的时候,此属性才会消失. 2.window.closed属性返回一个布尔值,表示窗口是否关闭.此属性一般用来检查使用脚本打开的窗口是否关闭,如:var popup = window.open();if ((popup !== null) && !popup.closed) { // 窗口仍然打开着} 3.window.self和window.window属性都指向窗口本身,这两个属性只读. 4.window

前端上报概述

一.性能上报 为性能优化提供数据论证 h5 performance 接口调用耗时(埋点统计) 运行耗时 二.系统监控 监控系统的可靠性 PV(访问量) 成功监控 错误监控 三.其他统计 产品数据分析 平台统计 业务统计 简单上报 new Image().src=`${your.report.url}`; // 一般会用到第三方的统计系统,所以不用ajax上报,不然会造成跨域 // 上报数量有限制(url长度限制) // 上报频率高(浪费请求) 复杂上报 let data={}; axios.po