Short: Yes:
Without specifying defer or async properties in the script tag, the specification says that the browser must sequentially (synchronize) the loading of these files.
In other words, the regular script tag that the browser finds should get
- loaded
- performed
- (block any other rendering / execution process while doing the above)
While the βmodernβ browser is probably still trying to optimize this process, these steps need to be applied (at least for the process). That is why you should place script tags without additional specification always at the bottom of the <body> . Even the DOM rendering process stops when loading / executing scripts.
To avoid this, you can specify the defer or async property (HTML5 only) in script tags, e.g.
<script defer src="/foo/bar.js"></script>
which tells the browser that this is a script that should have been executed after parsing the document.
See https://developer.mozilla.org/En/HTML/Element/Script
jAndy
source share