Dojo Toolkit 1.2を使うに当たって、ちょっと時間があったもので、dojo.jsからソースを眺めていたら、dojo.jsの次に読み込まれる/dojo/_base/_loader/bootstrap.jsに、主立ったdjConfigのオプションについて書かれていましたのでメモしてみました。
djConfigとは、
<script type="text/javascript">| var djConfig = {isDebug: true, parseOnLoad: true} </script> <script type="text/javascript" src="/dojo/dojo/dojo.js"></script>
とするか、
<script type="text/javascript" src="/dojo/dojo/dojo.js" djConfig="isDebug: true, parseOnLoad: true"></script>
のように、dojo.jsを読み込むときに指定して、Dojoの動きをコントロールするものです。こちらのページの説明がわかりやすいです。
isDebug: Boolean
デフォルトはfalse。tureに設定すると、Dojoはデバッグ出力をFirebugにより提供する。Firebugがプラットフォームで利用できない場合でもisDebugをtrueに設定しているとDojoパッケージに含まれるFirebug Liteバージョンにより強制的に表示される。isDebugが有効になっているとdebuggingとloggingコンソールを常に提示する。Firebugのconsole.*が常にDojoによるものであることに注意。isDebugが無効になっているか、そのプラットフォーム用のFirebugがないとこれらは定義されない。
debugAtAllCosts: Boolean
デフォルトはfalse。trueに設定すると、パッケージの評価モードとなり、<script>タブに含まれる順序でリソースが評価される。これはdojo.require()によって2重に読み込まれたりする時のパフォーマンス問題を発見できる。debugAtAllCostsのデバッグは貴重だが、これを使うときはすべてのコードでDojoモジュールがdojo.addOnLoad()に含まれることを確認すべき。debugAtAllCostsを使うことによる予測できない副作用があるので、最後の手段として用いること。ドメインを超えたロードではdebugAtAllCostsは影響しない。使用方法はDojo Bookを参照のこと。
locale: String
localeはRFC 3066で規定されているようなページの国際化リソースを考慮する。小文字で指定すること。例えば、en-usやzh-cnのように。dojo.i18nとdojo.requireLocalizationに国際化リソースについて詳しい説明がある。localeを指定しないと、Dojoはnavigator.userLanguageかnavigator.languageによるuser agentから推測する。
extraLocale: Array
デフォルトでは値なし。dojo.requireLocalization()で呼ばれる時に、デフォルトのlocaleに対して追加のlocaleを列挙できる。
baseUrl: String
dojo.jsが存在するディレクトリ。通常、Dojoは現在の場所を自動的に使用する。baseUrlを設定する必要があるのは、dojo.jsのファイル名を変更しているか、<base>タグが、あるブラウザー(例えばIE 6)でおかしくなる場合。変数dojo.baseUrlには、指定するか自動的に決定したdjConfig.baseUrlの値が割り当てられる。他のモジュールの場所もこのパスで決まる。
modulePaths: Object
dojo.baseUrlに対して、モジュールの位置へのパスを追加設定する。キーと値のペアでdojo.registerModulePathに対応したディレクトリを指定する。djConfig.modulePaths = { "foo": "../../bar" }と指定するのは、dojo.registerModulePath("foo", "../../bar");とするのと同じ。複数のモジュールがdjConfig.modulePathsを通じて設定できる。
afterOnLoad: Boolean
ページロード後に、ページに追加されるDojoがある(下のdjConfig.addOnLoadなどで)。この場合、DojoはページのDOMContentLoadやloadイベントを待つのではなく、dojo.requireによるモジュールがすべてロードされてからdojo.addOnLoadが実行される。デフォルトはfalse。
addOnLoad: FunctionまたはArray
dojo.addOnLoadのコールバックに追加する。ページロード後にDojoを追加するのに使えて、同時にdjConfig.afterOnloadはtrueに設定される。dojo.addOnLoadと同じようにいくらかの引数をサポートする。djConfig.addOnLoad = function(){};やdjConfig.addOnLoad = [myObject, "functionName"];やdjConfig.addOnLoad = [myObject, function(){}];など。
require: Array
ページにあるdojo.jsのすぐ後にロードされるモジュール名の配列。