Bug 219038
Summary: | Load event fires multiple times | ||
---|---|---|---|
Product: | WebKit | Reporter: | Milan Keser <milan.keser> |
Component: | Page Loading | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW | ||
Severity: | Normal | CC: | achristensen, beidson, cdumez, kkinnunen, smoley, webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | Safari 14 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
See Also: | https://bugs.webkit.org/show_bug.cgi?id=219469 |
Milan Keser
For some reason we get duplicate load events in Safari 14 and 13 when we redirect the page during the onload event.
userAgent = Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15
How to reproduce:
Create an html page
Add onload listener to body element
In onload listener click the button
Click on button changes the location.href and goes to another page
What we do:
We have a tracking tool that is injected as the first script in head tag.
We register load listener and create a beacon with metrics when load fires.
For some reason beacon sending fails if we redirect in onload event listener that is added to body element.
We get "failed to get a response" response from that beacon sending.
However that beacon somehow gets to the server with duplicate load event data.
This only happens on Safari 13 and 14, we are running this also on safari 12 and all other major browsers and we do not see this issue.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Milan Keser
Other possibility is that the failed beacon sending was trying to be resend multiple times from browser, but we cannot really be sure since browser shows only one request in console
Smoley
Thanks for filing, if possible please link to a live test case.
Radar WebKit Bug Importer
<rdar://problem/71546102>