【问题标题】:Using Dojo 1.9, all parsing fails in IE使用 Dojo 1.9,在 IE 中所有解析都失败
【发布时间】:2013-05-08 19:23:51
【问题描述】:

所以我有一个运行 Dojo 1.8 的相当大的 Web 应用程序。在多个版本的 IE 和 Firefox 中一切正常。我决定尝试 1.9 并将我的依赖项从 1.8 更改为 1.9。 Firefox 在第一次运行时运行良好,没有明显的变化。然而,IE 版本 8 和 9 都没有做任何事情。所有静态 HTML 内容(和动态 jsp 内容)都很好,所有用于获取所需模块的 ajax 调用似乎都可以正常工作,但解析器的行为就像它从未被调用过一样。控制台中没有错误、警告或任何内容。

我一直在玩我的 dojo 配置,这没什么特别的:

var dojoConfig = {
    baseUrl: "js/",
    async: true,
    has: {
            "dojo-firebug": true,
            "dojo-debug-messages": true
    },
    parseOnLoad: false,
    isDebug: true,
    tlmSiblingOfDojo: false,
    packages: [
        { name: "dojo", location: "dojo-release-1.9.0/dojo" },
        { name: "dijit", location: "dojo-release-1.9.0/dijit" },
        { name: "dojox", location: "dojo-release-1.9.0/dojox" }
    ]
};

我发现如果我注释掉 async: true,IE 突然又开始工作了。正如你可以想象的那样,我真的很想让 async 为真。为什么这会绊倒 IE?我希望我已经提供了足够的信息。

编辑:我通过在一个名为 common.js 的文件的标签底部包含一个脚本标签来调用解析器,它看起来大致如下:

require([
    "dojo/parser", 
    "dojo/ready"
    ], 
    function(parser, ready){
        ready(function(){
            parser.parse();    
        });
    });

我尝试将 dojo/ready 换成 dojo/domReady!并将 parser.parse 从 ready(function(){ 块中取出,结果相同。

【问题讨论】:

  • 希望我能为您提供解决方案。我只能说,IE 是最大的垃圾。它给我的只是问题。我创建的特殊解决方法始终与 IE 相关。无论如何,这里的亮点是我一直能够找到解决 IE 垃圾的方法......
  • 你如何/在哪里调用解析器?
  • 我在 Dojo 1.9 和 IE10 上遇到了同样的问题
  • 感谢 cmets。我刚刚用关于我如何调用解析器的信息更新了我的问题。
  • 您如何验证问题出在 parser.parse 调用中?

标签: javascript internet-explorer parsing dojo


【解决方案1】:

我敢于将我自己的答案标记为对 Dijit 领导者 Bil​​l Keese 的正确答案...... :)

但是说真的,自从比尔发布此消息以来,实际问题已得到纠正并提交。这已在 Dojo 的票证 #17141 中得到解决,并包含在最新的 1.9.1 版本中:

https://bugs.dojotoolkit.org/query?group=status&milestone=1.9.1

更新到这个版本解决了这个问题,现在 IE 可以正常工作了。

【讨论】:

    【解决方案2】:

    一种快速的解决方法是将 dijit/templates、dijit/form/templates 和 dijit/layout/templates 文件夹从 src 分发版复制到您的 dojo 分发版中。

    详情请参阅https://bugs.dojotoolkit.org/ticket/17141https://bugs.dojotoolkit.org/ticket/17146

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多