DojoToolkitのお話です。
dojo.require
を使うと、JavaScriptを動的に読み込むことができます。
<script>
タグを書くのに比べて、読み込むタイミングを制御できるため、大規模な開発に向いています。
しかし、<script>
の羅列を単純に置き換えると、動かないことがあります。
読み込まれるファイルで var Test = {};
のように記述した場合、FirefoxではTestを参照できますが、IEでは参照できません。
この関数は、JavaScriptリソースを文字列として取得し、最終的にevalを使って評価しているのですが、FirefoxとIEでevalの挙動が違うためだと思われます。
解決
dojo.require
を使うときは、簡単なクラスを定義する場合でも必ずdojo.declare()
を使うことで、IEでも参照できるようになります。