我们在应用程序中加载dojo小部件时遇到问题。 dojo库上传到Web发布者,其文件夹结构如下:www.wp-mydemopath.com/web/fw/tools/ssue/ui/1.6/auessome/dojo
我们在一个jsp中加载dojo组件,这在所有页面中都是通用的。我们以下列方式加载dojo组件 -
djConfig = {
isDebug: false,
debugAtAllCosts: false,
parseOnLoad: true,
baseUrl: "http://www.wp-mydemopath.com/web/fw/tools/ssue/ui/1.6/auessome/dojo/",
modulePaths: {
xwt: "www.wp-mydemopath.com/web/fw/tools/ssue/ui/1.6/auessome/xwt/"
}
这里我们在脚本标签中定义它 -
src="http://www.wp-mydemopath.com/web/fw/tools/ssue/ui/1.6/auessome/dojo/dojo.js"
一旦我们注册了dojo模块路径和dojo.js,我们就会以下列方式加载所有必需的dojo小部件 -
<script type="text/javascript">
dojo.require("dojo.parser");
dojo.require("dijit.dijit");
dojo.require("xwt.widget.toolbar.Toolbar");
dojo.require("xwt.widget.form.FilteringSelect");
//and functionality will be defined here
</script>
问题是,当上面的代码在Internet Explorer中使用时,它的工作正常。但是如果我们在Firefox中使用相同的代码,则无法加载dojo小部件。我们在firebug控制台中收到以下错误 -
无法加载dojo.parser,最后尝试为./parser.js。
同样聪明的是它无法加载任何小部件。 请帮助解决此问题。对于不同博客中的许多人来说,同样的问题也是如此,但没有人能够得到解决方案。 我发现firefox会设置限制,我尝试通过将参数设置为false来传递此限制。即使这样也行不通。虽然它有效但它不是一个可行的解决方案,因为我们不能要求最终用户在他们的浏览器中设置它。请帮我解决这个问题。提前谢谢。
此致
kumarji Alluri
答案 0 :(得分:0)
首先要做几件事......
您使用的是跨域吗?没有必要将路径引用为绝对路径。此外,baseUrl默认为dojo.js的位置,因此将其打开。
事实上,'xwt'命名空间被定位为dojox,dojo和dijit的兄弟姐妹,所以你实际上不需要定义它。
我建议从那个页面使用锅炉。 “data-”前缀是新的mojo mon,以下就足够了:
<script src="http://www.wp-mydemopath.com/web/fw/tools/ssue/ui/1.6/auessome/dojo/dojo.js"
data-dojo-config="isDebug: false,debugAtAllCosts: false,parseOnLoad: true"><!-- //required for FF3 and Opera (TidyHTML in JSP) --></script>
此评论<!-- //required for FF3 and Opera (TidyHTML in JSP) -->
的原因是,JSP服务器通常会整理输出,检测错误的DOM层次结构和结束标记;问题是脚本标签不应该是自动关闭的