加载另一个 JS 脚本后加载

zby*_*ekh 13 html javascript

这是我的代码:

<script src='app.js' defer></script> //very big js file
//lots of html stuff
<script> alert(1);</script>
Run Code Online (Sandbox Code Playgroud)

问题是,这些是异步加载的。有没有办法等待第二个脚本直到第一个脚本加载?

小智 5

如果您使用 jQuery,有一个非常简单的方法可以通过getScript函数来完成此操作。只需添加加载后需要执行的脚本部分并将其作为参数传递给函数即可。

$.getScript( "app.js" )
  .done(function( script, textStatus ) {
    console.log( textStatus );
    //your remaining code
  })
  .fail(function( jqxhr, settings, exception ) {
    //script fail warning if you want it
});
Run Code Online (Sandbox Code Playgroud)


Mic*_* B. 1

Defer 指示脚本标记的内容在页面加载之前不执行。所以我实际上期望先弹出警报,然后加载 app.js。

如果没有延迟,脚本应该按照您放置的顺序同步加载。