`
fishyu2010
  • 浏览: 24355 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

dojo--djConfig

 
阅读更多

djConfig

Dojo允许开发人员通过djConfig改变全局配置来控制框架的使用。

djConfig参数控制的三件基本的事情:
    * Tell dojo to load resources for debugging along with the core libraries
    * Tell dojo which language and localization resources to load with the core libraries
    * Tell dojo where to find key resources in the event that you are using a customized naming scheme or a cross-domain (xdomain) build

常用的两种配置方式:
在script标签中用djConfig属性进行配置
    <script type="text/javascript"
            src="http://o.aolcdn.com/dojo/1.4.2/dojo/dojo.xd.js"
            djConfig="parseOnLoad: true, isDebug: true"></script>
           
代码中这样使用
    var cfg = scripts[i].getAttribute("djConfig");
    if(cfg){
        var cfgo = eval("({ "+cfg+" })");
        for(var x in cfgo){
            dojo.config[x] = cfgo[x];
        }
    }
           

在script加载前用djConfig对象进行配置
    <script type="text/javascript">
        var djConfig = {
            parseOnLoad: true,
            isDebug: true,
            locale: 'en-us',
            extraLocale: ['ja-jp']
        };
    </script>
    <script type="text/javascript" src="http://o.aolcdn.com/dojo/1.4.2/dojo/dojo.xd.js"></script>

    d.config ={
        isDebug: false,
        debugAtAllCosts: false
    };
   
代码中这样使用
    if(typeof djConfig != "undefined"){
        for(var opt in djConfig){
            d.config[opt] = djConfig[opt];
        }
    }

 

dojo的两种加载方式
普通加载方式,简单说就是使用get请求获取js文件,然后eval执行文件中的代码。
但是并没有这么简单,如果立即全部执行则会出现变量方法未定义的错误,因为通过dojo.require引用的包还没有完成加载。因此返回的js文件流不会立即全部执行,而是以dojo.require分开,分段执行的。
当遇到dojo.require则先加载dojo.require中请求的js,在依赖的js中遇到dojo.require还要进行迭代,然后再回过头来执行剩下的代码。

上面一种加载方式可以让你放心的使用dojo.require来加载依赖的库,而不用担心代码的执行顺序问题造成的变量和方法未定义错误。但是当你的代码 出现使用或逻辑错误的时候,你去很难用firebug等调试工具定位到你的错误,因为使用eval执行的代码在调试工具是没办法定位源文件的%^%(你执 行的是放在内存中的代码,而不是源文件中的,包括使用innerHTML插入的js片段也存在同样的问题!@#$%……)。

XDomain (cross-domain)加载方式,先把js的uri都放进一个数组里,预先加载数组中的js依赖的库,然后加载uri指向的js。使用 doucment.write("<script src='uri'></script>")的方式加载。

 

====

debugAtAllCosts : true 可以让dojo按cross-domain方式加载js文件

 

isDebug: true
这个参数对已经启用Firebug的Firefox 是不起作用的. 所以包含这个参数只是使你可以在 IE, Safari, 和没有安装Firebug的 Firefox 上调试Dojo程序.

 

 

分享到:
评论

相关推荐

    DOJO-API中文参考手册附加注解实例

    djConfig是Dojo内置的全局设置对象,用于控制Dojo的行为。在引用dojo.js之前声明djConfig,可以在加载时即刻生效,确保框架按预期配置运行。以下是一个典型的djConfig对象示例: ```javascript var djConfig = { ...

    dojo精品中文教程(包一)

    Dojo学习笔记(五)-djConfig详解 dojo data 接口详解 dojo0.9 使用心得 dojo学习笔记(一)-dojo.io.IO & dojo.io.BrowserIO) dojo学习笔记(三) dojo学习笔记(二) dojo.lang.array & dojo.lang.func & ...

    dojo精品中文教程(包二)

    Dojo学习笔记(五)-djConfig详解 dojo data 接口详解 dojo0.9 使用心得 dojo学习笔记(一)-dojo.io.IO & dojo.io.BrowserIO) dojo学习笔记(三) dojo学习笔记(二) dojo.lang.array & dojo.lang.func & ...

    dojo精品中文教程(全)

    Dojo学习笔记(五)-djConfig详解 dojo data 接口详解 dojo0.9 使用心得 dojo学习笔记(一)-dojo.io.IO & dojo.io.BrowserIO) dojo学习笔记(三) dojo学习笔记(二) dojo.lang.array & dojo.lang.func & ...

    dojo精品中文教程(包三)

    Dojo学习笔记(五)-djConfig详解 dojo data 接口详解 dojo0.9 使用心得 dojo学习笔记(一)-dojo.io.IO & dojo.io.BrowserIO) dojo学习笔记(三) dojo学习笔记(二) dojo.lang.array & dojo.lang.func & ...

    DOJO API 中文参考手册,附加注解实例(精心重新排版DOC文档)

    djConfig是Dojo的一个全局配置对象,允许开发者在加载Dojo库前预先设定各种配置参数,以影响Dojo的行为。例如,设置isDebug为true可以在开发过程中开启调试模式,baseScriptUri可以指定Dojo脚本的基础URI,...

    dojo新手快速入门教程-首发高清PDF中文版

    4. 自定义配置,如使用`djConfig`设置全局配置选项,或使用`dojo.require()`按需加载特定模块。 #### 四、总结 Dojo Toolkit凭借其强大的功能集和灵活的架构,成为了Web开发领域中不可或缺的工具之一。对于初学者...

    dojo快速入门文档

    djConfig=parseOnLoad:true,isDebug:false,locale:'zh-cn',useI18n:true,useDebugAtts:false"&gt; // 发起 GET 请求 dojo.xhrGet({ url: 'https://example.com/data', handleAs: 'json', load: function(data){ ...

    dojo快速入门(中文版)

    &lt;script type="text/javascript" src="dojo-release/dojo/dojo.js" djConfig="parseOnLoad:true, isDebug:true"&gt; /* 我们的JavaScript代码将放在这里 */ /* CSS样式 */ &lt;!-- 页面内容 --&gt; ``` 此外...

    dojo的config()官方介绍 pdf格式

    Dojo框架允许开发者通过`dojo.config`(之前称为`djConfig`)来覆盖某些全局设置,这些设置控制着框架的运行方式。具体而言,可以通过以下几种情况对框架进行配置: 1. **在使用`dojo.parser`时触发自动解析dijit...

    Dojo1.5.0包下载(最新更新包)

    &lt;script src="path/to/dojo.js" djConfig="parseOnLoad: true"&gt; require(["dojo/parser", "dijit/form/Button"], function(parser, Button){ parser.parse(); var myButton = new Button({label: "点击我!"}); ...

    DOJO_API_中文参考手册 附加注释实例

    - djConfig是Dojo内置的全局设置对象,允许开发者控制Dojo的行为。 - 在加载Dojo库之前,需要声明djConfig对象,确保配置生效。 - 通过djConfig可以设置调试模式、基础脚本URI、是否解析Widgets等参数。 - is...

    DOJO 学习笔记 dojo

    `djConfig` 是 Dojo 的全局配置对象,允许你在页面加载前设置 Dojo 的行为。例如,`isDebug` 属性可以设置为 `true` 来开启调试模式,这将在页面上显示调试信息,有助于开发和调试。此外,`djConfig` 还可以配置其他...

    dojo学习 Struts2

    &lt;script type="text/javascript" src="./dojo-lib/dojo/dojo.js" djConfig="isDebug:true,bindEncoding:'UTF-8'"&gt; ``` 在这里,`isDebug`用来开启调试模式,而`bindEncoding`则设置默认的Ajax请求编码。 通过这些...

    利用dojo进行客户端开发过程

    &lt;script type="text/javascript" src="/dojotest/dojoroot/dojo/dojo.js" djConfig="parseOnLoad: true"&gt; ``` 接下来,为了呈现美观的界面,需要引入 Dojo 的 CSS 样式表。Dojo 提供了几种预设主题,如 claro,用户...

    dojo笔记dojo笔记dojo笔记

    `djConfig` 是 Dojo 中的一个全局对象,用于配置 Dojo 的行为。`isDebug` 属性是最常用的一个配置项,用于控制是否开启调试模式。 - **加载 Dojo 核心库**: ```html ...

    dojo控件的使用和入门心得

    通过设置`djConfig`对象,可以自定义框架的行为。例如,控制调试模式、指定调试容器ID等,极大地提升了开发灵活性和调试便利性。 Dojo框架的强大之处在于它不仅简化了常见的Web开发任务,还提供了丰富的UI组件和...

    dojo学习...........

    1. 设置配置项:通过全局变量`djConfig`,可以设置Dojo的运行环境,如`isDebug`用于开启调试模式。 2. 引入Dojo核心库:通过`&lt;script&gt;`标签引入`dojo.js`,这是Dojo的基础文件,可能已经包含了部分常用模块。 3. ...

    dojo自定义对话框

    &lt;script src="https://ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js" djConfig="parseOnLoad: true"&gt; ``` 接下来,我们需要在HTML中定义一个对话框元素,并添加`dijit.Dialog`类: ```html ...

Global site tag (gtag.js) - Google Analytics