我动态地把一个脚本标记到我的页面的DOM中,如下所示:
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
这应该会生成如下内容:
<script src="https://www.youtube.com/iframe_api"></script>
我只是想在这个脚本标签中放入一个defer
或async
,如下所示:
<script src="https://www.youtube.com/iframe_api" defer async></script>
那么,如何使用JavaScript来实现这一点呢?
2条答案
按热度按时间7kqas0il1#
不需要将
async
添加到script
标记中,因为动态脚本默认启用了该属性。至于
defer
,就像你在JavaScript中修改src
属性一样,你也可以像这样启用它:或者,您可以使用
setAttribute()
。cnwbcb6i2#
为了异步加载动态脚本,但按定义的顺序执行它们,请使用
script.async = false
:来源:https://web.dev/speed-script-loading/#the-dom-to-the-rescue