Звучит как проблемы с синхронизацией. Вы уверены, что правильно делаете CDN? Хитрость в том, что вы не можете использовать то, что определено в файлах, которые вы dojo.require()
d сразу же & mdash; они будут загружены асинхронно.
Основная структура приложения на основе CDN выглядит следующим образом:
<script src="to/dojo/cdn"></script>
<script>
dojo.require("dojo.this");
dojo.require("dojo.that");
// more dojo.require()
// you cannot use dojo.this and dojo.that here
dojo.addOnLoad(function(){
// this is crucial: do everything in dojo.addOnLoad();
// now use dojo.this and dojo.that
dojo.this(dojo.that);
});
</script>
Для устранения неполадок вы можете сделать одну вещь: написать минимальную веб-страницу, которая загружает Dojo, используя ваш любимый CDN, и ничего не делает. Откройте его в Firefox, откройте Firebug и введите несколько простых вызовов Dojo вручную, чтобы увидеть, работает ли он для вас. Если этого не произойдет, перейдите на вкладку Сеть и посмотрите, какие звонки были сделаны, когда и как они закончились.