页面加载后如何加载多个脚本?

时间:2020-05-05 00:58:41

标签: javascript html

我正在HTML内使用以下代码来在页面加载后加载JS文件。(DOMContentLoaded)

<script>
document.addEventListener('DOMContentLoaded', function() {
  var script = document.createElement('script');
  script.src = 'https://ajax.aspnetcdn.com/ajax/jquery/jquery-1.12.4.min.js';
  document.getElementsByTagName('body')[0].appendChild(script);
});
</script>

但是我要加载几个脚本,而且我不知道如何为多个脚本实现此功能。

<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-1.12.4.min.js"></script>
<script src="https://ajax.aspnetcdn.com/ajax/bootstrap/4.0.0/bootstrap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@8"></script>

您的帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:3)

如评论中所述,您可以考虑使用模块加载器。

如果您想在没有模块加载器的情况下进行操作,那么您有正确的想法。为了使代码更易于阅读/缩短,您可以创建一个URL数组并对其进行迭代,并为每个URL附加一个新的脚本元素。

    const jsFiles = [
        'https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js',
        'https://ajax.aspnetcdn.com/ajax/jquery/jquery-1.12.4.min.js',
        'https://ajax.aspnetcdn.com/ajax/bootstrap/4.0.0/bootstrap.min.js',
        'https://cdn.jsdelivr.net/npm/sweetalert2@8'
    ]
    jsFiles.forEach((item) => {
        const scriptEle = document.createElement('script');
        scriptEle.src = item;
        document.head.appendChild(scriptEle);
    })