 <p>If you put the source-loading code at the end of your <code>&lt;body&gt;</code> tag, the rendering won't be blocked, even though the new <code>script</code> tags are appended to the head. That's because most of the rendering is already done when you get to that part.</p> <p><a href="https://css-tricks.com/thinking-async/" rel="nofollow">In newer browsers</a>, you can add an <code>async</code> attribute to the script tag, which will not block rendering. So I suspect loading the file asynchronously via JS will not block rendering either, even if you do it near the top of the file.</p>