Dojo小部件未在FireFox中加载

时间:2012-04-09 11:13:17

标签: jsp dojo

我们在应用程序中加载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

1 个答案:

答案 0 :(得分:0)

首先要做几件事......

djconfig-deprecated

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