Javascript TypeError:dojo.\xDU ResourceLoaded(…)不是函数

Javascript TypeError:dojo.\xDU ResourceLoaded(…)不是函数,javascript,dojo,widget,cross-domain,Javascript,Dojo,Widget,Cross Domain,我正在从事一个项目,该项目要求从另一台服务器加载一些自定义Dojo小部件 我正在用dojo包装所有内容。xduresourceLoaded(function())基于上的建议 我确实犯了这个错误 TypeError:dojo.\xdResourceLoaded(…)不是函数,但我的小部件可以工作。不确定它为什么会引发此错误 我们正在使用Dojo1.6 dojo._xdResourceLoaded(function(){ return { depends: [ ["provide", "wi

我正在从事一个项目,该项目要求从另一台服务器加载一些自定义Dojo小部件

我正在用dojo包装所有内容。xduresourceLoaded(function())基于上的建议

我确实犯了这个错误

TypeError:dojo.\xdResourceLoaded(…)不是函数,但我的小部件可以工作。不确定它为什么会引发此错误

我们正在使用Dojo1.6

dojo._xdResourceLoaded(function(){
 return {
 depends: [
 ["provide", "widgets.test"],
 ["require", "dijit._Widget"],
 ["require", "dijit._Templated"]
  ],
 defineResource: function(dojo) {
 ///////////////////////////////
  /// Begin standard declaration
 dojo.provide("widgets.test");
 dojo.require("dijit._Widget");
 dojo.require("dijit._Templated");
 dojo.declare("widgets.test", [dijit._Widget, dijit._Templated], {

// Our template - important!
templateString: dojo.cache("widgets.test", "templates/Widgettest.html"),
postCreate: function(){...

链接线程中的回复并不正确。与所有用户代码一样,您的代码不应调用Dojo对象的下划线(私有)方法。这些方法仅供Dojo代码使用

如果您正在编写使用旧XD加载程序跨域加载依赖项的模块,则需要要求所有跨域依赖项,然后将使用这些依赖项的代码包装到dojo中。ready:

dojo.provide(“widgets.test”);
require(“dijit._小部件”);
dojo.require(“dijit._模板化”);
dojo.ready(函数(){
declare(“widgets.test”,[dijit.\u Widget,dijit.\u Templated],{/*…*/});
});
dojo.ready
在加载所有异步依赖项后执行回调


不用说,AMD比这要好得多,所以升级到Dojo 1.7+并使用AMD模块将是最好的解决方案,只要您有能力就可以。

我会收到这个错误,但未捕获异常:无法加载跨域资源:您能显示用于加载Dojo.js和dojoConfig的HTML页面吗?我在HTML上有这个registerModulePath('my','js/my');和dojo.require('my.widgets.test');dojo.require('dojo.io.script”);dojo.addOnLoad(function(){/*--*/}