Navigator.sendBeacon()

简介: Navigator.sendBeacon()

合集 - WEB API(1)

1.Navigator.sendBeacon()04-19

收起

navigator.sendBeacon() 方法可用于通过 HTTP POST 将少量数据异步传输到 Web 服务器。

这个方法主要用于满足统计和诊断代码的需要,这些代码通常尝试在卸载(unload)文档之前向 Web 服务器发送数据。过早的发送数据可能导致错过收集数据的机会。然而,对于开发者来说保证在文档卸载期间发送。

它主要用于将统计数据发送到 Web 服务器,同时避免了用传统技术(如:XMLHttpRequest)发送分析数据的一些问题。

语法

navigator.sendBeacon(url);
navigator.sendBeacon(url, data);

参数

返回值

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

特点

  • 数据发送是可靠的
  • 数据传输是异步的
  • 不影响下一次导航的载入

示例

示例代码使用 visibilitychange 事件来调用 sendBeacon() 以发送统计数据。

document.addEventListener('visibilitychange', function logData() {
  if (document.visibilityState === 'hidden') {
    navigator.sendBeacon('/log', analyticsData);
  }
});

浏览器兼容性


相关文章
|
Web App开发 安全
navigator.mediaDevices是undefined怎么办
navigator.mediaDevices是undefined怎么办
1521 1
uniapp阻止navigator冒泡
uniapp阻止navigator冒泡
151 0
|
2月前
|
存储 缓存 监控
|
2月前
|
JavaScript 前端开发
JavaScript Window Navigator
JavaScript Window Navigator
29 2
|
7月前
|
API
解决http下navigator.clipboard为undefined问题
总之,要解决 `navigator.clipboard`为 `undefined`的问题,你需要确保遵循浏览器的安全策略,使用HTTPS,获得用户授权,并在受信任的上下文中使用clipboard API。此外,还要确保你的代码在支持该API的浏览器上运行。如果问题仍然存在,可能需要进一步调查特定浏览器和环境的问题。
1370 3
|
7月前
|
传感器 移动开发 定位技术
Geolocation
地理位置(Geolocation)是指确定一个设备在地球上的具体位置,通常通过设备上的 GPS 传感器或其他定位技术来实现。地理位置信息可以用于许多应用程序中,例如地图和导航应用程序、社交媒体应用程序、天气预报应用程序等。
86 10
|
数据采集 Web App开发 JavaScript
在Pyppeteer中正确隐藏window.navigator.webdriver
在Pyppeteer中正确隐藏window.navigator.webdriver
294 0
|
JavaScript 前端开发
|
JavaScript 前端开发
Javascript Navigator对象
Javascript Navigator对象
122 0
Javascript Navigator对象
|
Web App开发 iOS开发
navigator 应用
navigator对象包含有关浏览器的信息,通常用于检测浏览器和操作系统版本 navigator的对象属性包括: appCodeName:浏览器代码名的字符串表示; appName:返回浏览器的名称; appVersion:返回浏览器的操作系统平台; ...
1111 0
下一篇
DataWorks