dojo.requireはscript要素を使って読み込みんでいると思いこんでいましたが、XmlHttpRequestで読み込んでいるようですね。
クロスドメインに引っかかった旨を伝えるエラーがエラーコンソールに出ていなかったので、しばらく気づきませんでした。Dojoのデバッグ機構を使いこなせていない、という事でしょうか。
djConfig.useXDomainをtrueにした場合、クロスドメインでの読み込みが可能になる事は分かったのですが、dojo.requireについては"*.xd.js"というファイル名で読み込む事になるようです。
"*.js"から"*.xd.js"にコピるのも面倒だったので、別の方法で解決しておきました。
Dojo 0.4.2から、クロスドメインに対応した。これにより、Dojoのライブラリを自分で配置せずに、AOLのCDNで配信しているDojoのライブラリを直接参照して利用できる。AOLのCDNを直接参照するときは、以下のように記述する。 Editor Widgetなど一部の機能では、HTMLファイルをローカルサーバに置く必要がある。
<script type="text/javascript" src="http://o.aolcdn.com/dojo/0.4.2/dojo.js"></script>
Dojo/JavaScript Toolkitのメモ: Dojoインストール
↑を使う事で、特に何をするでもなくdojo.requireの際にクロスドメインからソースを読み込むようになります。
ちなみに、なぜ"クロスドメイン〜"な話になったかというと、DojoをDjangoのテストサーバ("./manage.py runserver 192.168.1.5:8000")に置く方法を(今も)知らないので、Apache("192.168.1.5:80")に置いて開発をしていたからです。
というわけで、無事、dojo.widget.Dialogを使ってLightbox的なモーダルダイアログ(って言うんですかね?)を使う事が出来ました。
そもそもテンプレートにJSを書いてしまっているのが駄目な気もしますが、テストサーバで簡単に済ませたいのでそれはご勘弁。
さて、Django+Dojoなんてフレーズが目に留まって冷や汗が止まりません。。。
(DjangoってDojoを含んでいるんでしたっけ?AOLから引っ張る方法でWidgetだかが実装されてる?)
やっぱり、開発中に外のサーバを参照するのも気持ち悪いので、"/usr/lib/python2.4/site-packages/django/contrib/admin/media/js/dojo"にリンクはってしのぎます。