我在https://cdn.rawgit.com/DarkPotatoKing/darkpotatoking.github.io/master/latest_version.js
托管了JS文件当我在浏览器控制台上运行以下脚本时
jQuery.getScript("https://cdn.rawgit.com/DarkPotatoKing/darkpotatoking.github.io/master/latest_version.js")
.done(function() {
alert("done");
})
.fail(function() {
alert("fail");
});
我得到一个说“完成”的弹出窗口,但是当我运行时
version.number()
返回以下错误消息
ReferenceError: version is not define
如果脚本被正确加载,为什么没有定义“version”?
答案 0 :(得分:1)
您的脚本出现语法错误,因此无法解析。更正你的脚本,version.number()将会出现:
var version = {
number: function() { return "1.1"; }; <==Syntax error here
}
当然,您必须从version.number()
.done(function () {...})
答案 1 :(得分:0)
好的我已经为您解决了,您需要将上传的文件更改为:
var version = {
number: function() { return "1.1"; }
}
你在该代码中有;
。
这是你的新javscript / jquery代码:
$.getScript( "https://cdn.rawgit.com/DarkPotatoKing/darkpotatoking.github.io/master/latest_version.js" )
.done(function( script, textStatus ) {
console.log(version.number);
})
.fail(function( jqxhr, settings, exception ) {
console.log("nope");
});
这是因为您的代码不同步。
如果您在.done中运行version.number()
,它必须正常工作。