问题标签 [sendbeacon]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
104 浏览

javascript - navigator.sendBeacon 应该是同步的吗?

我正在使用 navigator.sendBeacon 在锚点的 onclick 事件中发送一个小负载

但是,在从 sendBeacon 调用收到服务器响应之前,用户似乎不会离开。即,如果我在我的服务器端端点中放置一个断点,浏览器不会导航到“https://someurl.com”,直到我在我的服务器端调试器上点击继续。文档(https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon)说调用应该是异步的。

这是预期的行为还是我错过了什么?

0 投票
1 回答
23 浏览

javascript - 在 WordPress ajax 中使用 sendBeacon

我正在尝试在页面卸载/可见性更改上使用 ajax 请求。我发现navigator.sendBeacon这是一个最佳选择。我尝试将它与 WordPress 一起使用,请求正在发送,但出现“POST 400 bad request”错误。

这是我的js代码:

我在functions.php中的php代码

为什么这个返回POST [domain]/wp-admin/admin-ajax.php 400 (Bad Request)错误?

0 投票
0 回答
87 浏览

javascript - 为什么 navigator.sendBeacon() 不跟随 php 中的 Refresh 标头?

与常规 3xx 服务器重定向不同,Navigator.sendBeacon() 不遵循 Refresh 标头重定向。例如,在 PHP 中:

sendBeacon() 遵循上面的服务器代码没有任何问题。但是,它没有遵循:

服务器是否可以与 Refresh 重定向标头一起发送任何内容以使 sendBeacon() 正确遵循它?

0 投票
0 回答
66 浏览

javascript - 我可以使用 sendBeacon 在 iOS 设备中实时保存会话持续时间指标吗?

我集成了timeonsite库,将用户在网站上花费的时间存储在 MySQL 数据库中。我正在使用以下代码来实现相同的目的。

但是,数据不会存储在iPhone 或 iPad 等 IOS 设备中,而是适用于所有其他浏览器,如 Chrome、Edge、Opera、Firefox 等,包括 Android chrome 和 firefox。

这个问题的原因是什么以及如何解决?