使用$ .getScript()

时间:2016-12-06 14:54:51

标签: javascript jquery

我在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”?

2 个答案:

答案 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");
});


OLD

这是因为您的代码不同步。

如果您在.done中运行version.number(),它必须正常工作。