mirror of
https://github.com/librespeed/speedtest.git
synced 2026-10-21 07:40:50 +00:00
docs: describe both detection paths for the IE11 upload workaround
The previous wording claimed affected browsers are detected by checking whether xhr.upload is usable "not by sniffing the user agent", but Edge and the PlayStation 4 browser are still matched by user agent regex. Both mechanisms exist and for different reasons: feature detection only sees a missing xhr.upload object, while those two expose the object and simply never fire its events. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S1bUKsok59shM69PwLMMRM
This commit is contained in:
parent
4a95894f7a
commit
df5417c942
1 changed files with 1 additions and 1 deletions
2
doc.md
2
doc.md
|
|
@ -732,7 +732,7 @@ To keep track of the amount of transferred data, the XHR Level 2 `upload.onprogr
|
|||
|
||||
This test has a couple of complications:
|
||||
|
||||
* Some browsers don't have a working `upload.onprogress` event. For this, we use a small blobs instead of a large one and we keep track of progress using the `onload` event. This is referred to as IE11 Workaround (the same bug was also found in some versions of Edge and in the PlayStation 4 browser). Affected browsers are detected by checking whether `xhr.upload` is usable, not by sniffing the user agent. Safari is __not__ affected and uses the regular, more accurate upload test
|
||||
* Some browsers don't have a working `upload.onprogress` event. For this, we use a small blobs instead of a large one and we keep track of progress using the `onload` event. This is referred to as IE11 Workaround. Browsers that expose no usable `xhr.upload` object, such as IE11, select it automatically through feature detection. Some versions of Edge and the PlayStation 4 browser do have an `xhr.upload` object whose events never fire, which feature detection cannot see, so those two are still matched by user agent. Safari is __not__ affected and uses the regular, more accurate upload test
|
||||
* When `mpot` is set to `true`, an empty request must first be sent in order to load the CORS headers before the test can start
|
||||
|
||||
See the code for more implementation details.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue