1

我们在应用程序中加载 dojo 小部件时遇到问题。dojo 库上传到网络发布者,其文件夹结构类似于 - 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来传递这个限制。即使这样也没有用。虽然它有效,但它不是一个可行的解决方案,因为我们不能要求最终用户在他们的浏览器中进行设置。请帮我解决这个问题。提前致谢。

问候,

库玛吉·阿鲁里

4

1 回答 1

0

首先有几件事..

djconfig 已弃用

你在使用跨域吗?无需将路径引用为绝对路径。此外,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 层次结构和结束标记;问题是脚本标签不应该是自动关闭的

于 2012-04-29T17:04:18.307 回答