Не удалось загрузить dijit.Menu

Я хочу запустить Dojo / Dijit с Google CDN:

<script type="text/javascript" 
         src="http://ajax.googleapis.com/ajax/libs/dojo/1.3.2/dojo/dojo.xd.js">
</script>

Я пробовал 1.3.2, 1.3, 1.2, и у всех возникла такая же проблема. Если то, что я прочитал, верно, мне нужно только включить dojo.xd.js - тогда требования будут правильно находить dijit каким-то образом относительно dojo.

В Firebug я вижу следующее:

http://ajax.googleapis.com/ajax/libs/dojo/1.2/dijit/Menu.js 200 ОК

Меня это смущает, потому что если http status = 200 в порядке, то почему эта строка отображается красным?

В следующей строке говорится

не удалось загрузить dijit.Menu; последняя попытка "../dijit/Menu.js"

У меня это работало со всем локальным исходным кодом Dojo / Dijit, но я решил запустить его с CDN.

Я провел несколько поисков, и лучшее, что я смог найти, это то, что Menu.js был включен в определенные выпуски, но я думаю, что они говорили о версии 1.2 или более ранней.

Такая же ошибка возникает в браузере Chrome.

Спасибо за помощь. Нил Уолтерс

Добавлена ​​дополнительная информация:

Спасибо за пример. Взял и заработало простое меню:

http://3wcloud-com-provisioning-qa.appspot.com/testDijitMenuOnly

Вот «зверь», с которым я пытаюсь заставить работать.
http://3wcloud-com-provisioning-qa.appspot.com/testDijit

Изначально это была копия демонстрационной версии Dojo Theme - и она работала, когда я работал с Dojo local. Он выполняет отложенный / ручной синтаксический анализ.

Как я уже сказал выше, я пробовал 1.2, 1.3, 1.3.2 и так далее, поэтому когда я копировал / вставлял свой вопрос, это было просто вопросом времени.

И OOPS - у меня не было djconfig - поэтому я добавил это - но аналогичная проблема - только более явные пути.

Еще раз спасибо - я полюблю Додзё, когда буду преодолевать эти маленькие неровности.

Это страница, которую я пытаюсь воспроизвести: http://archive.dojotoolkit.org/nightly/dojotoolkit/dijit/themes/themeTester.html?theme=soria


person NealWalters    schedule 02.09.2009    source источник
comment
это не проблема djConfig, см. мой ответ о dijit.js и dijit-all.js   -  person seth    schedule 03.09.2009


Ответы (1)


У вас в djConfig что-то странное есть? Тот факт, что он выплевывает "../dijit/Menu.js", заставляет думать, что у вас есть настройка пути.

Я создал простую демонстрационную страницу, которая использует Google CDN и выполняет:

dojo.require('dijit.Menu')

без проблем.

Кроме того, тег скрипта имеет 1.3.2, но это странное меню загрузки из 1.2.

Опубликуйте полный исходный код того, что не работает, и это поможет отследить проблему.

ИЗМЕНИТЬ ПОСЛЕ РАЗМЕЩЕНИЯ ССЫЛКИ

Удалите эти строки со своей страницы testDijit:

<script type="text/javascript" src="/dijit/dijit.js"></script>

<script type="text/javascript" src="/dijit/dijit-all.js" charset="utf-8"></script>

ЕСТЬ ДРУГОЕ ИЗМЕНЕНИЕ

Назовите меня сумасшедшим (поскольку вы, похоже, не одобряете или не голосуете за ответы на SO, что делает это для меня своего рода запретным), но у меня он работает с CDN здесь.. У него все еще есть проблемы, потому что на CDN нет всех тестовых файлов (например, dijitTest.css и country.json). Вы можете скачать его и посмотреть, что я изменил, в своем файле. В основном я добавил кучу недостающих требований и изменил пути к CSS и изображениям. У вас также есть тег скрипта, ссылающийся на /dojo.js в вашем файле.

Мне любопытно, почему вы так стремитесь запустить тестер dijit в своем приложении, поскольку кажется, что было бы более увлекательно / продуктивно изучать додзё, решающее проблемы в вашем приложении.

person seth    schedule 02.09.2009
comment
См. Исправления - я отредактировал свой исходный вопрос, потому что в комментариях не хватило места. - person NealWalters; 03.09.2009
comment
Замена завершена - аналогичный результат. Это был мусор, оставшийся, когда я тестировал 100 перестановок. Я в спортзал - мне нужен умственный перерыв. Еще раз спасибо. - person NealWalters; 03.09.2009
comment
Я думал, что проголосовал за все ваши ответы, которые были в цель - я вернусь и проверю. Тем временем я проработаю то, что вы опубликовали выше. - person NealWalters; 03.09.2009
comment
По сути, я беру их полноценный образец и удаляю из него вещи, чтобы они стали моим меню / фреймворком - где я помещаю контент на правую панель. Итак, / testDijit - это их образец, переработанный в GAE, а / testDijitMenu - это то место, где я начал уменьшать его размер в соответствии со своими потребностями. - person NealWalters; 03.09.2009
comment
Я вижу, вы добавили эти пять ilnes: // добавлено, что эти пять требуют dojo.require ('dijit.PopupMenuItem'); dojo.require ('dijit.PopupMenuBarItem'); dojo.require ('dijit.layout.LinkPane'); dojo.require ('dijit.form.VerticalRuleLabels'); dojo.require ('dijit.form.VerticalRule'); Без них экран плохо рисует. Как демо themeTester.html работало без них? Как вы узнали, что их нужно добавить? Таким образом, удаление лишнего мусора из устаревших операторов / test ‹script src, вероятно, позволило избавиться от исходной ошибки. MUCHO GRACIAS AMIGO! - person NealWalters; 03.09.2009
comment
Нил, когда ответ решит вашу проблему, не забудьте принять его (используйте значок галочки под числом, указывающим количество голосов за ответ): это фундаментальный этикет ТАК! - person seth; 06.09.2009