Dojo学习笔记 2. djConfig解说

djConfig是dojo内置的一个全局设置对象,其作用是可以通过其控制dojo的行为

首先我们需要在引用dojo.js前声明djConfig对象,以便在加载dojo.js的时候才能够取得所设置的值,虽然在0.3版本以后dojo支持在加载后设置,但是强烈建议你把声明djConfig的代码作为第一段script

一个完整的djConfig对象定义如下(值均为dojo的默认值)

<script type="text/javascript">
var djConfig = {
  isDebug: false,
  debugContainerId: "",
  bindEncoding: "",
  allowQueryConfig: false,
  baseScriptUri: "",
  parseWidgets: true
  searchIds: [],
  baseRelativePath: "",
  libraryScriptUri: "",
  iePreventClobber: false,
  ieClobberMinimal: true,
  preventBackButtonFix: true,
};
</script>

isDebug是一个很有用的属性,顾名思义,如果设置为真,则所有dojo.Debug的输出有效,开发时应该设置为true,发布时应该设置为false

debugContainerId同样也是与调试有关的,如果不指定的话,调试信息将会直接利用 document.write输出,这样可能会破坏页面的整体布局,所以你可以指定任何一个可以作为容器的html元素的id作为调试信息输出容器

allowQueryConfig,这个属性指明 dojo是否允许从页面url的参数中读取djConfig中的相关属性,当值为true时,dojo会优先从url参数中读取djConfig的其他属性,比如: http://server/dojoDemo.htm?djConfig.debugContainerId=divDebug

baseScriptUri,一般不需要设置,dojo会自动根据你引用dojo.js的路径设置这个值,比如,<script type="text/javascript" src="../dojo/dojo.js"></script>,自动获取的值便是 ../dojo/

ps: 如果你有多个工程需要同时引用dojo.js的话,建议也把dojo当作一个独立的工程,引用的时候采用绝对路径就可以了

parseWidgets,这个是可以控制dojo是否自动解析具有dojoType的html元素为对应的widget,如果你没有使用任何Widget,建议设置为false以加快dojo的加载速度

searchIds,这是一个字符串数组,定义了所有需要解析为widget的html元素的ID,如果ID不在其中的html元素是不会被解析的,当数组为空数组时,则所有具有dojoType的元素都会被解析

还有一个bindEncoding,是用来设置默认的bind请求的编码方式

至于其它的属性,不是用处不大,就是不知道有什么作用

在实际开发中,可以把djConfig的定义放在一个js文件里,并将其作为第一个引用的js文件,这样应该是最方便的。

时间: 2024-08-01 19:47:22

Dojo学习笔记 2. djConfig解说的相关文章

Dojo学习笔记 1.模块与包

Dojo是一个非常强大的面向对象的JavaScript的工具箱, 建议读者能够去补充一下JavaScript下如何使用OO进行编程的, 这对于你以后阅读Dojo Source有很大的用处. Getting Started 1: 把Dojo加入到我们的Web程序中 1. 标志<script type="text/javascript"> djConfig = { isDebug: false }; </script> djConfig是Dojo里的一个全局对象,

Dojo学习笔记8.dojo.event &amp;amp; dojo.event.topic &amp;amp; dojo.event.browser

模块:dojo.event 终于进入有名的dojo事件处理系统的学习了,学习前建议读者先去补习一下AOP的相关知识 dojo.event.connect 绑定指定的方法到指定的对象的方法上 Usage Example: 简单绑定1 function doOnClick1() { alert("Clicked!"); } dojo.event.connect(dojo.byId("inputTest"),"onclick","doOnCl

推荐dojo学习笔记_dojo

在引用dojo.js前,最好声明djConfig对象,以便在加载dojo.js时能够取得所设置的值,虽然在0.3版本以后dojo支持在加载后设置,但是强烈建议你把声明djConfig的代码作为第一段script: 一个完整的djConfig对象定义如下(值均为dojo的默认值) js 代码 var djConfig = {        isDebug: false,        debugContainerId: "",        bindEncoding: "&qu

Dojo学习笔记 6. dojo.io.IO &amp;amp; dojo.io.BrowserIO

模块:dojo.io.IO dojo.io.bind 处理请求取回需要的数据并处理 这个函数是AJAX中最为重要和有用的函数,dojo.io.bind这个类是用来处理客户端与服务器间通讯的,需要通讯的参数由对象dojo.io.Request所定义,具体通讯的方法则由另外一个对象Transport所提供. 因此,我们如果需要与服务器通讯,则应该定义一个Request对象,其中包括服务器地址及回调函数,例子中Requset都是以匿名对象方式定义的 虽然我们可以定义一个自己的Transport,但是显

Dojo学习笔记5. dojo.lang.array &amp;amp; dojo.lang.func &amp;amp; dojo.string.extras

模块:dojo.lang.array dojo.lang.has 判断对象是否具有指定属性,不过这个方法有用吗,不如直接使用 if(name in obj) Usage Example: dojo.lang.has(dojo.lang, "has"); //will return true dojo.lang.isEmpty 判断对象或数组是否为空 Usage Example: dojo.lang.isEmpty({a: 1}); //will return false dojo.la

Dojo学习笔记 4. dojo.string &amp;amp; dojo.lang

模块:dojo.string.common / dojo.string dojo.string.common 和 dojo.string 是一样的,只要require其中一个就可以使用以下方法 dojo.string.trim 去掉字符串的空白 Usage Example: s = " abc ";dojo.string.trim(s); //will return "abc"dojo.string.trim(s, 0); //will return "a

Dojo学习笔记 9. dojo.graphics.color &amp;amp; dojo.uri.Uri

模块:dojo.graphics.color 下面是dojo里定义的颜色名称 dojo.graphics.color.named.white//白色 dojo.graphics.color.named.black//黑色 dojo.graphics.color.named.red//红色 dojo.graphics.color.named.green//绿色 dojo.graphics.color.named.blue//蓝色 dojo.graphics.color.named.navy//海军

Dojo学习笔记 7. dojo.dom

模块:dojo.dom dojo.dom.isNode 测试指定对象是否为节点 Usage Example: dojo.dom.isNode(dojo.byId('edtTitle')); dojo.dom.getUniqueId 取得唯一id Usage Example: dojo.dom.getUniqueId(); //will return dj_unique_# dojo.dom.firstElement = dojo.dom.getFirstChildElement 取得指定节点下的

Dojo学习笔记 3. Dojo的基础对象和方法

这里所说的基础对象和方法是指的不Require任何包就能够调用的对象和方法 匿名函数 在开始前,我想介绍一下js里的匿名函数,这个在阅读dojo的源代码的时候,会发现到处都有匿名函数 ;(function(){ alert(123); })(); //前面的分号是一个空语句,是可以不要的 匿名函数.一个匿名函数就是一个没有名字的函数. 你可以认为他们是一次性函数.当你只需要用一次某个函数时,他们就特别有用.通过使用匿名函数,没有必要把函数一直放在内存中,所以使用匿名函数更加有效率. 当然你也可以