"deferred"脚本加载和执行后如何执行代码?

4
如果脚本是同步加载的(包括jQuery),那么我使用的启动代码如下:
<script>
    $(window).load(function () {
        // some startup code
    });
</script>

现在脚本被延迟加载:
<script defer type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script defer type="text/javascript" src="...

如何重写启动代码,以便在延迟脚本加载和处理后执行?
1个回答

4

我使用的方法是监听特定脚本标签的'load'事件 - 一旦它完成并准备就绪,事件将触发。

theScript.addEventListener('load', function () {
    console.log(jQuery.fn.jquery);
});
<script defer id='theScript' type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接