javascript - jQuery 的 getScript() 回调是否不可靠或者我做错了什么?

标签 javascript jquery

我正在使用以下脚本来加载另一个脚本:

$.getScript("CAGScript.js", function () {
    try {
        CAGinit();
    } catch(err) {
        console.log(err);
    }
});

这个想法是 $.getScript 加载脚本,然后在完成时执行回调。 CAGInit() 是一个位于 CAGScript.js 中的函数。

问题是大约有一半的时间,CAGInit() 不会触发(在任何浏览器中)。登录 Firebug 控制台报告它未定义。其余时间一切正常。

有人知道我做错了什么吗?

谢谢。

最佳答案

我注意到 FF 3.6 也存在同样的问题。

解决方案是同步加载脚本。

jQuery's documentation 中所述, getScript 是简写:

$.ajax({
  url: url,
  dataType: 'script',
  success: success
});

如果我使用以下命令而不是 getScript,一切都会正常工作:

$.ajax({
  url: url,
  dataType: 'script',
  success: success,
  async: false
});

关于javascript - jQuery 的 getScript() 回调是否不可靠或者我做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1130921/

相关文章:

javascript - 我想将 s3 对象的字符串发送到客户端

javascript - 是否可以用鼠标在 d3.js 条形图上选择多个条形

javascript - 即使为该输入隐藏了 ng-show(相同的 ng-model),angular 中的输入类型编号也会产生错误

javascript - 从对象数组中获取唯一元素数组

javascript - Meteor Startup JQuery DOM 元素未就绪(JQueryUI 可拖动)

javascript - 为什么我的 Google Picker 窗口不会出现在浏览器中

javascript - SVG 对象的实时迭代

javascript - 对单个 jQuery 对象执行多项操作的 jQuery 插件?

javascript - 改变多个div的内容

Jquery 无法与 Bootstrap 单选按钮一起使用