我知道有很多关于这一主题的论坛上的问题,但我仍然无法找到答案...
我有基于jQuery的JS应用。 现在,我必须做一些整合基于Dojo的一些小部件。 我想加载道场,只有当它是必要的部件,所以希望异步地做到这一点。 我有道场存储在我的网站,所以从我的空间加载它。
下面是我尝试jQuery中使用的代码:
$.getScript("/Content/3rd/dojo/dojo/dojo.js")
.done(function (script, textStatus) {
dojo.ready(function () {
dojo.require("dojo.io.script");
alert('Dojo ready!')
});
})
.fail(function (jqxhr, settings, exception) {
alert('error!');
});
当我尝试打电话给我的问题,从一开始就开始dojo.require("dojo.io.script");
这是需要异步请求,我看到,它试图从以下网址加载dojo.io.script - “/Example/io/script.js”这不是它的确切位置所在地。 我怀疑,我错过了一些配置问题,但无法理解其中的一个......有人可以帮我解决这个问题?
也许是微不足道的问题,但我从来没有使用Dojo工作,需要做的仅仅基于道场,jQuery的MYY主要应用小部件快速整合...
解:
为了以防万一,如果有人有兴趣,我用的是下一个脚本加载控件:
// Load Dojo and scripts for JSDraw2 asyncronously
dojoConfig = {
baseUrl: "/Content/3rd/dojo-1.8.3/dojo"
};
$.getScript("/Content/3rd/dojo-1.8.3/dojo/dojo.js")
.done(function (script, textStatus) {
dojo.ready(function () {
dojo.require("dojo.io.script");
var deferred = dojo.io.script.get({ url: "/Content/3rd/JSDraw2.1.4/JSDraw2.js" });
deferred.then(function () {
// init the Dojo widget...
oThis.jsDraw = new JSDraw(oThis.element.get(0));
}, function () {
alert('Cannot load Scilligence.JSDraw2.js');
});
});
})
.fail(function (jqxhr, settings, exception) {
alert('Cannot load Dojo.js');
});