我正在使用以下脚本来加载另一个脚本:
$.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/