Forked from jakub-g/double-fetch-triple-fetch.md
Created
March 1, 2020 07:19
Revisions
-
jakub-g revised this gist
Feb 6, 2019 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -21,4 +21,4 @@ Summary: - ⚠ Safari <11 may or may not double fetch (even with the hack); it does not on small test pages, but in real complex pages it does (it seems deterministic, but not clear what's the exact trigger) - ⚠ Safari 11+ may still double fetch in some cases (see https://bugs.webkit.org/show_bug.cgi?id=194337) - ❌ pre-2018 browsers do double fetches - ❌❌ latest Edge does triple fetch (2x module + 1x nomodule) -
jakub-g revised this gist
Feb 6, 2019 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -17,7 +17,7 @@ Test page: https://jg-testpage.github.io/es-modules/module-nomodule/ Summary: - ✅ no browser does double execution (provided [the Safari hack](https://gist.github.com/samthor/64b114e4a4f539915a95b91ffd340acc)) - ✅ modern Chrome and Firefox never fetch more than necessary - ⚠ Safari <11 may or may not double fetch (even with the hack); it does not on small test pages, but in real complex pages it does (it seems deterministic, but not clear what's the exact trigger) - ⚠ Safari 11+ may still double fetch in some cases (see https://bugs.webkit.org/show_bug.cgi?id=194337) - ❌ pre-2018 browsers do double fetches -
jakub-g revised this gist
Feb 6, 2019 . 1 changed file with 3 additions and 2 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -13,11 +13,12 @@ Test page: https://jg-testpage.github.io/es-modules/module-nomodule/ | 16 | | |10.1/3 | v | v |module |❌ | | 17-18 | | | | double! | v |module |❌❌| | | |56-60 | | | v |nomodule|✅ | | | 60+ | 61+ |11.0+* | v | |module |✅ | Summary: - ✅ no browser does double execution (provided [the Safari hack](https://gist.github.com/samthor/64b114e4a4f539915a95b91ffd340acc)) - ✅ modern browsers, except Edge, never fetch more than necessary - ⚠ Safari <11 may or may not double fetch (even with the hack); it does not on small test pages, but in real complex pages it does (it seems deterministic, but not clear what's the exact trigger) - ⚠ Safari 11+ may still double fetch in some cases (see https://bugs.webkit.org/show_bug.cgi?id=194337) - ❌ pre-2018 browsers do double fetches - ❌❌ newest Edge does triple fetch (2x module + 1x nomodule) -
jakub-g revised this gist
Jan 25, 2019 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -18,6 +18,6 @@ Test page: https://jg-testpage.github.io/es-modules/module-nomodule/ Summary: - ✅ no browser does double execution (provided [the Safari hack](https://gist.github.com/samthor/64b114e4a4f539915a95b91ffd340acc) - ✅ modern browsers, except Edge, never fetch more than necessary - ⚠ Safari <11 may or may not double fetch (even with the hack); it does not on small test pages, but in real complex pages it does (it seems deterministic, but not clear what's the exact trigger) - ❌ pre-2018 browsers do double fetches - ❌❌ newest Edge does triple fetch (2x module + 1x nomodule) -
jakub-g revised this gist
Jan 25, 2019 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -18,6 +18,6 @@ Test page: https://jg-testpage.github.io/es-modules/module-nomodule/ Summary: - ✅ no browser does double execution (provided [the Safari hack](https://gist.github.com/samthor/64b114e4a4f539915a95b91ffd340acc) - ✅ modern browsers, except Edge, never fetch more than necessary - ⚠ Safari <11 may or may not double fetch (even with the hack); it does not on small test pages, but in real complex pages it does - ❌ pre-2018 browsers do double fetches - ❌❌ newest Edge does triple fetch (2x module + 1x nomodule) -
jakub-g revised this gist
Jan 25, 2019 . 1 changed file with 1 addition and 0 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -18,5 +18,6 @@ Test page: https://jg-testpage.github.io/es-modules/module-nomodule/ Summary: - ✅ no browser does double execution (provided [the Safari hack](https://gist.github.com/samthor/64b114e4a4f539915a95b91ffd340acc) - ✅ modern browsers, except Edge, never fetch more than necessary - ⚠ Safari <11 may or may not double fetch (even with the hack) - ❌ pre-2018 browsers do double fetches - ❌❌ newest Edge does triple fetch (2x module + 1x nomodule) -
jakub-g revised this gist
Jan 25, 2019 . 1 changed file with 8 additions and 9 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -7,17 +7,16 @@ Testing double-fetching of `module`/`nomodule` JS code (including [the Safari ha Test page: https://jg-testpage.github.io/es-modules/module-nomodule/ |IE/Edge|Firefox|Chrome|Safari |fetches module|fetches nomodule|executes| | |:-----:|:-----:|:----:|:-----:|:------------:|:--------------:|:------:|----| | 15- | 59- | 55- |10.0- | v | v |nomodule|❌ | | 16 | | |10.1/3 | v | v |module |❌ | | 17-18 | | | | double! | v |module |❌❌| | | |56-60 | | | v |nomodule|✅ | | | 60+ | 61+ |11.0+ | v | |module |✅ | Summary: - ✅ no browser does double execution (provided [the Safari hack](https://gist.github.com/samthor/64b114e4a4f539915a95b91ffd340acc) - ✅ modern browsers, except Edge, never fetch more than necessary - ❌ pre-2018 browsers do double fetches - ❌❌ newest Edge does triple fetch (2x module + 1x nomodule) -
jakub-g revised this gist
Jan 25, 2019 . 1 changed file with 3 additions and 3 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -9,11 +9,11 @@ Test page: https://jg-testpage.github.io/es-modules/module-nomodule/ |IE/Edge|Firefox|Chrome|Safari|fetches module|fetches nomodule|executes| | |:-----:|:-----:|:----:|:----:|:------------:|:--------------:|:------:|----| | 15- | 59- | 55- |10.0- | v | v |nomodule|❌ | | 16 | | |10.1/3 | v | v |module |❌ | | 17-18 | | | | double! | v |module |❌❌| | | |56-60 |10.0- | | v |nomodule|✅ | | | 60+ | 61+ |11.0+ | v | |module |✅ | Summary: - ✅ no browser does double execution -
jakub-g revised this gist
Dec 12, 2018 . 1 changed file with 2 additions and 1 deletion.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -16,7 +16,8 @@ Test page: https://jg-testpage.github.io/es-modules/module-nomodule/ | | 60+ | 61+ |10.1+ | v | |module |✅ | Summary: - ✅ no browser does double execution - ✅ Safari never fetches more than necessary (provided [the Safari hack](https://gist.github.com/samthor/64b114e4a4f539915a95b91ffd340acc) for 10.1 / iOS 10.3 is included in the top of HTML) - ✅ modern browsers, except Edge, never fetch more than necessary - ❌ pre-2018 browsers (except Safari) do double fetches - ❌❌ newest Edge does triple fetch (2x module + 1x nomodule) -
jakub-g revised this gist
Dec 10, 2018 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -16,7 +16,7 @@ Test page: https://jg-testpage.github.io/es-modules/module-nomodule/ | | 60+ | 61+ |10.1+ | v | |module |✅ | Summary: - ✅ Safari never fetches more than necessary (provided [the Safari hack](https://gist.github.com/samthor/64b114e4a4f539915a95b91ffd340acc) for 10.1 / iOS 10.3 is included in the top of HTML) - ✅ modern browsers, except Edge, never fetch more than necessary - ❌ old non-Safari browsers do double fetches - ❌❌ newest Edge does triple fetch (2x module + 1x nomodule) -
jakub-g revised this gist
Dec 10, 2018 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -16,7 +16,7 @@ Test page: https://jg-testpage.github.io/es-modules/module-nomodule/ | | 60+ | 61+ |10.1+ | v | |module |✅ | Summary: - ✅ Safari never fetches more than necessary (provided [the Safari hack](https://gist.github.com/samthor/64b114e4a4f539915a95b91ffd340acc) is included in the top of HTML) - ✅ modern browsers, except Edge, never fetch more than necessary - ❌ old non-Safari browsers do double fetches - ❌❌ newest Edge does triple fetch (2x module + 1x nomodule) -
jakub-g revised this gist
Dec 10, 2018 . 1 changed file with 2 additions and 1 deletion.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -9,7 +9,8 @@ Test page: https://jg-testpage.github.io/es-modules/module-nomodule/ |IE/Edge|Firefox|Chrome|Safari|fetches module|fetches nomodule|executes| | |:-----:|:-----:|:----:|:----:|:------------:|:--------------:|:------:|----| | 15- | 59- | 55- | | v | v |nomodule|❌ | | 16 | | | | v | v |module |❌ | | 17-18 | | | | double! | v |module |❌❌| | | |56-60 |10.0- | | v |nomodule|✅ | | | 60+ | 61+ |10.1+ | v | |module |✅ | -
jakub-g revised this gist
Dec 10, 2018 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -10,7 +10,7 @@ Test page: https://jg-testpage.github.io/es-modules/module-nomodule/ |IE/Edge|Firefox|Chrome|Safari|fetches module|fetches nomodule|executes| | |:-----:|:-----:|:----:|:----:|:------------:|:--------------:|:------:|----| | 16- | 59- | 55- | | v | v |nomodule|❌ | | 17-18 | | | | double! | v |module |❌❌| | | |56-60 |10.0- | | v |nomodule|✅ | | | 60+ | 61+ |10.1+ | v | |module |✅ | -
jakub-g revised this gist
Dec 10, 2018 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -8,7 +8,7 @@ Testing double-fetching of `module`/`nomodule` JS code (including [the Safari ha Test page: https://jg-testpage.github.io/es-modules/module-nomodule/ |IE/Edge|Firefox|Chrome|Safari|fetches module|fetches nomodule|executes| | |:-----:|:-----:|:----:|:----:|:------------:|:--------------:|:------:|----| | 16- | 59- | 55- | | v | v |nomodule|❌ | | 17-18 | | | | double! | v |nomodule|❌❌| | | |56-60 |10.0- | | v |nomodule|✅ | -
jakub-g revised this gist
Dec 10, 2018 . 1 changed file with 6 additions and 6 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -7,12 +7,12 @@ Testing double-fetching of `module`/`nomodule` JS code (including [the Safari ha Test page: https://jg-testpage.github.io/es-modules/module-nomodule/ |IE/Edge|Firefox|Chrome|Safari|fetches module|fetches nomodule|executes| | |:-----:|:-----:|:----:|:----:|:------------:|:--------------:|--------|----| | 16- | 59- | 55- | | v | v |nomodule|❌ | | 17-18 | | | | double! | v |nomodule|❌❌| | | |56-60 |10.0- | | v |nomodule|✅ | | | 60+ | 61+ |10.1+ | v | |module |✅ | Summary: - ✅ Safari never fetches more than necessary -
jakub-g revised this gist
Dec 10, 2018 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,4 +1,4 @@ Testing double-fetching of `module`/`nomodule` JS code (including [the Safari hack](https://gist.github.com/samthor/64b114e4a4f539915a95b91ffd340acc)) ``` <script type="module" src="module.js"></script> -
jakub-g revised this gist
Dec 10, 2018 . 1 changed file with 4 additions and 4 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -9,10 +9,10 @@ Test page: https://jg-testpage.github.io/es-modules/module-nomodule/ |IE/Edge|Firefox|Chrome|Safari|fetches module|fetches nomodule| | |:-----:|:-----:|:----:|:----:|:------------:|:--------------:|-| | 16- | 59- | 55- | | v | v |❌| | 17-18 | | | | double! | v |❌❌| | | |56-60 |10.0- | | v |✅| | | 60+ | 61+ |10.1+ | v | |✅| Summary: - ✅ Safari never fetches more than necessary -
jakub-g revised this gist
Dec 10, 2018 . 1 changed file with 7 additions and 1 deletion.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -12,4 +12,10 @@ Test page: https://jg-testpage.github.io/es-modules/module-nomodule/ | 16- | 59- | 55- | | x | x |❌| | 17-18 | | | | double! | x |❌❌| | | |56-60 |10.0- | | x |✅| | | 60+ | 61+ |10.1+ | x | |✅| Summary: - ✅ Safari never fetches more than necessary - ✅ modern browsers, except Edge, never fetch more than necessary - ❌ old non-Safari browsers do double fetches - ❌❌ newest Edge does triple fetch (2x module + 1x nomodule) -
jakub-g revised this gist
Dec 10, 2018 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -7,8 +7,8 @@ Testing double-fetching of `module`/`nomodule` JS code (including the Safari hac Test page: https://jg-testpage.github.io/es-modules/module-nomodule/ |IE/Edge|Firefox|Chrome|Safari|fetches module|fetches nomodule| | |:-----:|:-----:|:----:|:----:|:------------:|:--------------:|-| | 16- | 59- | 55- | | x | x |❌| | 17-18 | | | | double! | x |❌❌| | | |56-60 |10.0- | | x |✅| -
jakub-g revised this gist
Dec 10, 2018 . 1 changed file with 6 additions and 5 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -7,8 +7,9 @@ Testing double-fetching of `module`/`nomodule` JS code (including the Safari hac Test page: https://jg-testpage.github.io/es-modules/module-nomodule/ |IE/Edge|Firefox|Chrome|Safari|fetches module|fetches nomodule|| |:-----:|:-----:|:----:|:----:|:------------:|:--------------:|| | 16- | 59- | 55- | | x | x |❌| | 17-18 | | | | double! | x |❌❌| | | |56-60 |10.0- | | x |✅| | | 60+ | 61+ |10.1+ | x | |✅| -
jakub-g revised this gist
Dec 10, 2018 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -8,7 +8,7 @@ Testing double-fetching of `module`/`nomodule` JS code (including the Safari hac Test page: https://jg-testpage.github.io/es-modules/module-nomodule/ |IE/Edge|Firefox|Chrome|Safari|fetches module|fetches nomodule| |:-----:|:-----:|:----:|:----:|:------------:|:--------------:| | all | 59- | 55- | | x | x | | | |56-60 |10.0- | | x | | | 60+ | 61+ |10.1+ | x | | -
jakub-g revised this gist
Dec 10, 2018 . 1 changed file with 5 additions and 0 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,5 +1,10 @@ Testing double-fetching of `module`/`nomodule` JS code (including the Safari hack) ``` <script type="module" src="module.js"></script> <script nomodule src="nomodule.js"></script> ``` Test page: https://jg-testpage.github.io/es-modules/module-nomodule/ |IE/Edge|Firefox|Chrome|Safari|fetches module|fetches nomodule| -
jakub-g revised this gist
Dec 10, 2018 . 1 changed file with 4 additions and 1 deletion.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,6 +1,9 @@ Testing double-fetching of `module`/`nomodule` JS code (including the Safari hack) Test page: https://jg-testpage.github.io/es-modules/module-nomodule/ |IE/Edge|Firefox|Chrome|Safari|fetches module|fetches nomodule| |-------|-------|------|------|--------------|----------------| | all | 59- | 55- | | x | x | | | |56-60 |10.0- | | x | | | 60+ | 61+ |10.1+ | x | | -
jakub-g created this gist
Dec 10, 2018 .There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,6 @@ Testing double-fetching of module/nomodule JS code Test page: https://jg-testpage.github.io/es-modules/module-nomodule/ |IE/Edge|Firefox|Chrome|Safari|fetches module|fetches nomodule| |-------|-------|------|------|--------------|----------------|