23 ms·
Well, "DOM ready" isn't really a thing -- but assuming we're talking "DOMContentLoaded", then you're absolutely right. It doesn't have anything to do with other
by kevincennis 14y ago
Well, "DOM ready" isn't really a thing -- but assuming we're talking "DOMContentLoaded", then you're absolutely right. It doesn't have anything to do with other resources (images or CSS) being loaded or not. It'll execute as soon as the document is parsed.
As for downloading CSS -- it won't prevent your JS from executing, but it'll block page rendering until all the stylesheets have been downloaded and parsed.
- untog 14y agoThat's what I thought. Which means the original post makes very little sense- if your <script> tags are just before </body> there's surely no real delay between that an using DOMContentLoaded?
- cramforce 14y agoThe spec agrees with you, but even MDC does not: https://developer.mozilla.org/en/DOM/DOM_event_reference/DOMContentLoaded https://developer.mozilla.org/en/DOM/DOM_event_reference/DOM... DOMContentLoaded, in all important browsers, does block to wait for CSS. Manipulating the DOM before this event both increases the chance to make changes before first-paint (decreases "jigger" on page load) and gives you the chance to request more resources earlier.
- kevincennis 14y agoWow, that's a total surprise. I guess I never really noticed this because my scripts are always included so much later in the document than my CSS.
- bzbarsky 14y agoDOMContentLoaded does not block to wait for CSS in Firefox.
- deleted 14y ago[deleted]
- bzbarsky 14y ago> As for downloading CSS -- it won't prevent your JS from > executing, It most surely will, in at least Gecko and WebKit. Too many pages have JS that depends on all preceding stylesheets having been loaded.