DOJO включает скрипт из CDN - PullRequest
0 голосов
/ 29 августа 2009

В настоящее время я пытаюсь включить Dojo из одного из этих двух источников CDN (Content Delivery Network):

1) o.aolcdn.com/dojo/1.3.2/dojo/dojo.xd.js

2) ajax.googleapis.com/ajax/libs/dojo/1.3.2/dojo/dojo.xd.js

Кажется, что несколько раз в течение дня Firefox 3.5 отказывается загружать библиотеку додзё. Я вижу ошибки в консоли Firebug, такие как «dojo не определен», когда я делаю оператор «dojo.require». Также из Firebug и перейдите на вкладку «Net», и не увидите истории каких-либо попыток загрузки из вышеуказанных библиотек dojo.

Тем не менее, я могу открыть ту же страницу в IE7, и она работает. Я очистил кэш в Firefox, убил и снова открыл его (но я использовал опцию восстановления предыдущих страниц).

Однажды сегодня, когда я переключился с AOL 1.3.2 на 1.1, он работал один раз, а потом никогда больше не работал.

Спасибо, Нил

1 Ответ

2 голосов
/ 30 августа 2009

Звучит как проблемы с синхронизацией. Вы уверены, что правильно делаете 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 вручную, чтобы увидеть, работает ли он для вас. Если этого не произойдет, перейдите на вкладку Сеть и посмотрите, какие звонки были сделаны, когда и как они закончились.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...