我刚刚开始学习Dojo。我遵循一个站点 Widget 示例,使用一些不同的方法来加载 Dojo 库。我喜欢使用 AOL 参考来加载 dojo.js,如下所示:
<script type="text/javascript"
src="http://o.aolcdn.com/dojo/1.2.0/dojo/dojo.xd.js">
</script>
并将我的小部件代码保存在本地网络服务器中,如下所示:
scripts/
myWidget/
widgetExample.js
...
test.html
where widgetExample.js包含我的小部件类代码,以及测试.html是我的测试页面。我收到的错误消息是:“未捕获的异常:无法加载跨域资源:myWidget.widgetExample...”。我不确定是否必须在本地加载 dojo 包?我真的很喜欢将 dojo 库包按原样分开或从 AOL 加载,只将我自己的代码放在本地路径中。我尝试用 google 搜索不同的信息域加载、baseScriptUrl 和 moduleMapping?仍然无法弄清楚。感谢您提供任何详细说明(如果有)。
这可能有帮助:http://dojotoolkit.org/forum/dojo-core-dojo-0-9/dojo-core-support/xdomain-usage-dojo-loading-not-detecting-local-modules http://dojotoolkit.org/forum/dojo-core-dojo-0-9/dojo-core-support/xdomain-usage-dojo-loading-not-detecting-local-modules
总结是:您需要一个 djConfig 项来注册您想要本地化的 modulePaths,并指定一个 baseUrl 来“欺骗”Dojo,让它认为它知道这些路径在主机之间的相对位置。
djConfig = { modulePaths: { "mine":"/js/mine" };
那么你可以从 /js/mine/Thing.js dojo.require("mine.Thing")
问候,
彼得·希金斯
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)