【问题标题】:Using Dojo 1.9.1 in IE not working在 IE 中使用 Dojo 1.9.1 不起作用
【发布时间】:2013-08-01 00:07:16
【问题描述】:

当我在 IE 中使用带有选项 async set false 的 dojo 时遇到问题,我的应用程序需要在同步模式下运行 dojo,请参阅我的代码:

         <script>
        var dojoConfig = {
            async: false,
            packages: [{
                name: "ControleOO",
                location: location.pathname.replace(/\/[^/]*$/, '') + "/ControleOO"
            }]
        };
    </script>
    <script src="js/dojo/dojo.js"></script>

    <script>

     require(["dojo/_base/window", "ControleOO/Base", "ControleOO/Config", "ControleOO/Mouse"], function(win, Base, Config, Mouse){

        window.Base = new Base();

        window.map = window.Base.getMapa(window.Base);
        config = new Config('PROCEMPA'); //TODO Alterar para base desejada

        window.mouse = new Mouse();

     });

    </script>

当我在 IE 上运行此页面时,require 方法不会调用,但在其他浏览器中该方法可以正常调用。

这是一个BUG还是我不知道DOJO lib的正确配置方式?

最好的问候,

仁南

【问题讨论】:

  • 如果我删除了我的模块,require 执行得很好。

标签: javascript internet-explorer asynchronous dojo require


【解决方案1】:

如果在不包含您的模块时它可以正常工作,并且此问题仅存在于 IEAre trailing commas in arrays and objects part of the spec? 了解更多信息。

【讨论】:

  • 我发现了问题,在我的模块中我有特殊字符,Dojo 将字符转换为其他字母。是否可以在 Dojo 上配置编码/字符集以接受特殊字符?
  • Dojo 不会也不能更改 JavaScript 文件的字符编码。浏览器负责管理字符编码。这就是为什么当您使用非 US-ASCII 字符时 jslint 会报告“不安全字符”警告并告诉您改用转义序列的原因。但是,只要您的服务器配置正确,通常您可以使用原始 UTF-8 字符。
猜你喜欢
  • 1970-01-01
  • 2013-07-02
  • 1970-01-01
  • 2017-11-16
  • 1970-01-01
  • 2016-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多