Tech Racho エンジニアの「?」を「!」に。
  • 開発

IEでdojo.requireを使うなら必ずdojo.declare()しよう

DojoToolkitのお話です。

dojo.requireを使うと、JavaScriptを動的に読み込むことができます。
<script>タグを書くのに比べて、読み込むタイミングを制御できるため、大規模な開発に向いています。

しかし、<script>の羅列を単純に置き換えると、動かないことがあります。

読み込まれるファイルで var Test = {}; のように記述した場合、FirefoxではTestを参照できますが、IEでは参照できません。
この関数は、JavaScriptリソースを文字列として取得し、最終的にevalを使って評価しているのですが、FirefoxとIEでevalの挙動が違うためだと思われます。

解決

dojo.requireを使うときは、簡単なクラスを定義する場合でも必ずdojo.declare() を使うことで、IEでも参照できるようになります。

CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。