WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
261655
script type="module" doesn't wait for CSS
https://bugs.webkit.org/show_bug.cgi?id=261655
Summary
script type="module" doesn't wait for CSS
Rene Haas
Reported
2023-09-17 10:43:59 PDT
Created
attachment 467721
[details]
Minimal reproducable example When using a script with `type="module"` I would expect the script to be deferred until CSS is parsed and executed. (same behavior as with the `defer` attribute) In webkit this doesn't happen. I've attached a minimal example. Open it in browsers such as Firefox or Chrome and the result will be always the same: The `div` element will always have its color (red / rgb(255, 0, 0)) as its text. In WebKit / Safari this won't be always the case (to reproduce it consistently disable cache in the network devtools). The example looks like this: ===================== index.html: ===================== <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <link rel="stylesheet" href="styles.css" /> </head> <body> <div></div> <script type="module"> document.querySelector('div').innerHTML = getComputedStyle(document.querySelector('div')).backgroundColor; </script> </body> </html> ===================== styles.css ===================== div { width: 200px; height: 200px; background: red; } One important note to make here is that if I switch out `type="module"` with `defer` everything works as expected.
Attachments
Minimal reproducable example
(570 bytes, application/x-zip-compressed)
2023-09-17 10:43 PDT
,
Rene Haas
no flags
Details
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2023-09-24 10:44:12 PDT
<
rdar://problem/115961182
>
Rene Haas
Comment 2
2025-10-01 10:16:28 PDT
Any updates?..
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug