js 学习笔记(3)djConfig解说

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: "aa",
    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文件,这样应该是最方便的。

 

      

<script type="text/javascript">
       var djConfig = {
          isDebug: true,
          debugContainerId: "aa",//定义调试信息输出的位置
          bindEncoding: ""
     }
</script>
     
<script type="text/javascript" src="dojojs/dojo.js"></script>
     
<script type="text/javascript">
        dojo.require("dojo.widget.Button");
        dojo.require("dojo.event.*");//调试信息需要引入
</script>

  
  <body>
    <center>
    <button dojoType="Button" widgetId="helloButton"  

     onClick="dojo.debug('Dojo调试信息')">提交</button>
    </center>
    输出调试信息之前的文字
    <div id="aa">
      </div>
    输出调试信息之后的文字
  </body>

 

 

 

 

 

 

你可能感兴趣的:(JavaScript,html,dojo)