js学習ノート(3)djConfig解説


Dojo学習ノート(2.djConfig解説)
djConfigはdojoに内蔵されているグローバル設定の対象であり、その役割は、まずdojo.jsを参照する前にdjConfigオブジェクトを宣言する必要があります.dojsをロードする時に設定された値を取得することができます.0.3バージョン以降dojoはロード後に設定をサポートしますが、しかし、djConfigを宣言するコードを第一段階のscriptの完全なdjConfigの対象として以下のように定義することを強く勧めます.
<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に設定するべきです.        debugContinerIdもデバッグに関連しています.指定しないとデバッグ情報はDcument.writeを直接利用して出力されます.これはページの全体レイアウトを破壊する可能性があります.だから、コンテナとしてもいい)元素のidをデバッグ情報出力容器として指定できます.       allowQueryConfigは、この属性は、dojoがページurlのパラメータからdjConfigの関連属性を読み取ることができるかどうかを指定しています.trueの値がある場合、dojoは優先的にurlパラメータからdjConfigの他の属性を読み取ります.
        http://server/dojoDemo.htm?djConfig.debugContainerId=divDebug       baseScript Uriは、一般的に設定する必要はありません.dojoは自動的にdojo.jsのパスを参照してこの値を設定します.例えば、は、自動的に取得した値です.       ps:複数のプロジェクトが同時にdojo.jsを引用する必要がある場合は、dojoを独立したプロジェクトとして扱うことを勧めます.引用する時は絶対パスを採用すればいいです.  いいです      パースWidgetsは、dojoがdojoTypeを持っているhtml要素を自動的に解析できるかどうかを制御することができます.これは対応するwidgetです.もしWidgetを使用していないなら、dojoのロード速度を上げるためにfalseに設定することをお勧めします.       search Idsは、文字列配列であり、widgetとして解析する必要があるすべてのhtml要素のIDを定義しています.IDが存在しない場合、html要素は解析されません.配列が空の配列の場合、dojoTypeを持つすべての要素は解析されます.       もう一つのbindEncocdingは、デフォルトの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>