[whatwg] DOMContentLoaded and stylesheets
Boris Zbarsky
bzbarsky at MIT.EDU
Thu Feb 11 13:00:42 PST 2010
On 2/11/10 9:07 AM, Mathias Schäfer wrote:
> But if there’s a script after the stylesheet, DOMContentLoaded always
> fires after the stylesheet has been loaded. The explanation I’ve found
> is that the parser waits for the stylesheet to load before subsequent
> scripts are executed.
Correct.
>> step 8 the cases that talk about "a style sheet blocking scripts"
>> specify this.
>
> Thanks for the hint. AFAICS only the third case talks about “a style
> sheet blocking scripts”. But this case only deals with “parser-inserted”
> inline scripts.
Ah, indeed. For non-inline scripts the relevant part is step 2 under
the "If the load was successful" part in
http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#executing-a-script-block
> The question is: Is a normal external script “parser-inserted” or not?
Yes.
> I assume the flag to be false, since that’s the default value and I
> found “parser-inserted” to be true for XML parsing only
> (#parsing-xhtml-documents). Correct?
No. The HTML parser state machine sets that flag in various cases. For
example,
http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html#parsing-main-inhead
under 'A start tag whose tag name is "script"'.
> <link rel="stylesheet" href="...">
> <script src="..."></script>
>
> ... and I would like to step through the parsing algorithm. This is my
> understanding so far:
>
...
> 4. We’ve reached step 8 which you’ve mentioned above. I assume the
> fourth case is true (“If the element has a src attribute”), since the
> script is not “parser-inserted”.
The script is in fact parser-inserted, but you still land in the fourth
case, I think.
> 9. “Pause until either any applicable style sheets have been fetched and
> applied, or the user agent has timed out and decided to not wait for
> those style sheets.” (step 2)
>
> --> I guess *this* is where the waiting happens, right?
Yep.
> That means, inline script execution should also wait for stylesheets to
> load. Am I right in this reading?
Yes.
-Boris
More information about the whatwg
mailing list