javascript - 等待动态加载的脚本

标签 javascript jquery html load-order

在我的页面正文中,我需要插入此代码作为 AJAX 调用的结果:

    <p>Loading jQuery</p>
    <script type='text/javascript' src='scripts/jquery/core/jquery-1.4.4.js'></script>
    <p>Using jQuery</p>
    <script type='text/javascript'>
        $.ajax({
            ...
        });
    </script>

我无法使用 $.load(),因为文档已经加载,所以事件不会触发。

这样安全吗?如果没有,我如何确保在执行自定义生成的代码之前加载 jquery 脚本。

最佳答案

将 ID 添加到您的脚本文件,以便您可以查询它。

<script id="hljs" async src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.0.0/highlight.min.js"></script>

然后在JavaScript中给它添加一个加载监听器

<script>
  var script = document.querySelector('#hljs');
  script.addEventListener('load', function() {
    hljs.initHighlightingOnLoad(); 
  });
</script>

关于javascript - 等待动态加载的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7308908/

相关文章:

javascript - 使用Javascript将多行变量转换为单行变量?

JavaScript/CSS 播放一次 Spritesheet 就变成 gif 了吗?

php - 实时多人游戏技术

javascript - 当我计算复选框的已选中元素时出现烦人的行为

html - 使用 CSS-HTML 的幻灯片仅显示四张幻灯片

javascript - 上下文菜单动态创建?

javascript - Codeigniter 中不同 Controller 的不同 JavaScript、JQuery 或 CSS

jquery - MediaWiki HTML 和 CSS 格式问题

asp.net - 客户请求是否总是发送 cookie?

javascript - 过滤具有不同输入的数据属性