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

Gih*_*han 5 html javascript

我在 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>
Run Code Online (Sandbox Code Playgroud)

但我有几个脚本要加载,我不知道如何为多个脚本实现这个。

<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>
Run Code Online (Sandbox Code Playgroud)

我们将非常感谢您对此的帮助。谢谢。

小智 4

正如评论中提到的,您可以考虑使用模块加载器。

如果您想在没有模块加载器的情况下完成此操作,那么您的想法是正确的。为了使代码更易于阅读/更短,您可以创建一个 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);
    })
Run Code Online (Sandbox Code Playgroud)