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怎么办
1475 1
|
2月前
|
存储 缓存 监控
|
2月前
|
JavaScript 前端开发
JavaScript Window Navigator
JavaScript Window Navigator
29 2
|
7月前
|
API
解决http下navigator.clipboard为undefined问题
总之,要解决 `navigator.clipboard`为 `undefined`的问题,你需要确保遵循浏览器的安全策略,使用HTTPS,获得用户授权,并在受信任的上下文中使用clipboard API。此外,还要确保你的代码在支持该API的浏览器上运行。如果问题仍然存在,可能需要进一步调查特定浏览器和环境的问题。
1331 3
|
7月前
|
传感器 移动开发 定位技术
Geolocation
地理位置(Geolocation)是指确定一个设备在地球上的具体位置,通常通过设备上的 GPS 传感器或其他定位技术来实现。地理位置信息可以用于许多应用程序中,例如地图和导航应用程序、社交媒体应用程序、天气预报应用程序等。
82 10
|
数据采集 Web App开发 JavaScript
在Pyppeteer中正确隐藏window.navigator.webdriver
在Pyppeteer中正确隐藏window.navigator.webdriver
289 0
|
JavaScript 前端开发
|
Web App开发 JavaScript 前端开发
(最新版)如何正确移除 Pyppeteer 中的window.navigator.webdriver
(最新版)如何正确移除 Pyppeteer 中的window.navigator.webdriver
116 0
|
JavaScript 前端开发
Javascript Navigator对象
Javascript Navigator对象
119 0
Javascript Navigator对象