Dojo1.5 之 djConfig

djConfig介绍
    djConfig是Dojo的一个全局变量,可以用于修改Dojo的一些默认配置,如:

      1. 使用dojo.parse触发dijit对象的自动解析

      2. 在开发阶段设置debug模式

      3. 设置国际化和本地化

      4. 重命名dojo的核心组件或者把dojo代码放在非标准的路径



使用方法
    定义djConfig主要有三种方法:

        1. 把djConfig当作一个属性,在引入dojo core脚本的<script>标签里定义djCofig的各个变量,并用逗号分隔,如:

             <script type="text/javascript" src="/dojo/dojo.js" djConfig="parseOnLoad: true, isDebug: true"></script>

            使用这种方法有一点需要注意,如果通过代理访问这个页面的话,dojo有不能正常工作的可能。第二种方法没有这种问题。

        2. 在引入dojo core脚本之前,显式地定义djConfig变量,如:

              <head>
                  <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>
             </head>

        3. 暂时忽略



djConfig配置
      一、配置debug模式

             isDebug:默认为false。配置是否为debug模式。

             debugContainerId:显示debug信息的容器。

             debugAtAllCosts:提供了更多debug的功能,暂略。

      二、语言和本地化设置

             locale:默认情况下,dojo会从浏览器对象中获得locale信息,但也可以强制为dojo指定locale信息。

             extraLocale:略

      三、配置dojo脚本的位置

             dojo脚本的标准默认位置是dojo/dojo.js,如果需要放在不同的位置,或者需要使用不同版本的dojo进行开发的话,可以在djConfig中进行配置。

             baseUrl:定义dojo core文件所在的位置。配置值必需要以'/'结尾,并且配置的目录中必需存在dojo.js或者dojo.xd.js文件。

             modulePaths:使用这个相当于调用了dojo.registerModulePath方法,关于dojo.registerModulePath方法,以后详细解释。

     四、其他配置

            afterOnLoad:配置是否要在页面加载后把dojo.js注入到页面中去。默认为false。

            skipleDomLoaded:略
     五 一个完整的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文件,这样应该是最方便的。



你可能感兴趣的:(html,浏览器,脚本,dojo)