Bug 194897
Summary: | navigator.sendBeacon does not work on visibilitychange callback for document unload | ||
---|---|---|---|
Product: | WebKit | Reporter: | Bastien Caudan <bastien.caudan> |
Component: | WebCore Misc. | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED DUPLICATE | ||
Severity: | Normal | CC: | cdumez, code, mike, webkit-bug-importer, webkit |
Priority: | P2 | Keywords: | InRadar |
Version: | Safari Technology Preview | ||
Hardware: | Mac | ||
OS: | macOS 10.14 | ||
See Also: |
https://bugs.webkit.org/show_bug.cgi?id=116769 https://bugs.webkit.org/show_bug.cgi?id=151234 https://bugs.webkit.org/show_bug.cgi?id=151610 |
Bastien Caudan
With the example from the beacon spec (https://w3c.github.io/beacon/):
document.addEventListener('visibilitychange', function() {
if (document.visibilityState === 'hidden') {
navigator.sendBeacon('/collector', data);
}
});
From manual tests on hidden cases, navigator.sendBeacon is triggered correctly when:
- the browser is minimized.
- the document is not the active tab
But navigator.sendBeacon is not triggered when:
- the browser unload the document
Other browsers that support the Beacon API allow these requests to be sent.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/48301429>
Daniel
The visibilitychange event don’t fire at all during unload. This is a duplicate of issue #116769.
sideshowbarker
See the https://volument.com/blog/sendbeacon-is-broken#comments comments discussion for some real-world pain points developers are hitting due to this. (So that not only do we need to make developers aware that they shouldn’t be trying to use unload/onunload with sendBeacon(), and that they instead need to visibilitychange — but *also* need to check pagehide (because we don’t yet have visibilitychange working interoperably for them across the web platform).
Sam Sneddon [:gsnedders]
*** This bug has been marked as a duplicate of bug 151234 ***