我想在我的页面上加载一个非阻塞的 javascript。支持之前async
,最佳实践似乎是通过简单的脚本动态加载它。
这是一个可以正常工作的示例,它被插入到第一个之前<script>
:
var myscript = document.createElement('script');
myscript.async = true; // cannot hurt, right?
myscript.type = 'text/javascript';
myscript.src = 'myscript.js';
var node = document.getElementsByTagName('script')[0];
node.parentNode.insertBefore(myscript, node);
我发现有几个版本将脚本插入到不同的地方,例如结尾<head>
或<body>
:
document.getElementsByTagName("head")[0].appendChild(myscript);
document.getElementsByTagName("body")[0].appendChild(myscript);
尽管顺序是异步的,但在某些浏览器中似乎很重要。在浏览器支持方面有什么不同吗?表现?阻塞风险?
我在顺序方面没有任何限制(它们不会相互影响),但我想确保如果我的脚本加载页面内容的时间过长,仍然可以正常加载。我认为最后一个解决方案效果最好,但我不确定差异。