javascript - 如何在从另一个脚本文件加载 JS 时执行成功回调

标签 javascript jquery callback include dynamic-loading

我有遗留网络应用程序的情况,我无法从 HTML 标记中的脚本标记加载 jquery.min.js..所以我必须加载它在另一个现有脚本文件中使用一些 js

var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js';
script.type = 'text/javascript';
head.appendChild(script);

问题是..当包含加载很慢时..有jQuery函数 (也在页面上动态加载)尝试运行但找不到 jQuery

在 jquery.min.js 包含文件从 CDN 下载完成后,是否有一些跨浏览器的方法可以在上面的代码中调用 jQuery 就绪函数进行回调?谢谢,

编辑:

使用 Mike 的代码,这适用于几乎所有浏览器的 onload IE 8 或更早版本.. 以及其他需要 onreadystatechange 我猜的浏览器

JSFIDDLE HERE:

http://jsfiddle.net/BmyGC/

最佳答案

尝试

if(script.onreadystatechange)
  script.onreadystatechange = function()
  {
      if(script.readyState == "complete"  || script.readyState=="loaded")
   {
   script.onreadystatechange = false;
       console.log("complete");
   }
  }
 else
 {
    script.onload = function()
    {
        console.log("complete");
    }
 }

关于javascript - 如何在从另一个脚本文件加载 JS 时执行成功回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8441372/

相关文章:

javascript - 使用 jQuery 将 Div 位置设置为鼠标位置

启用 Ajax 的 WCF 仅间歇性返回回调函数

php重定向 header 未通过ajax调用发送

javascript - 如何安装 package.json 中没有的 npm 依赖项?

javascript - jQuery .post() 未执行

javascript - 设置特定时间循环

javascript - jQuery UI 自动完成突出显示完整单词而不是匹配的子字符串

javascript - 尝试使用箭头语法重写它

jquery - 动画和 ajax 调用成功完成后如何正确触发回调?

javascript - Redux——繁重的工作应该在哪里发生——reducer、action、容器还是表示组件?