Невозможно использовать виджеты Dojo в гаджете opensocial внутри контейнера Apache Shindig
Я не могу использовать виджеты Dojo в своем открытом социальном гаджете. Вот шаги, которые я следовал
1. Я использую Apache Shinding в Tomcat 6.0.29 на моей локальной машине. Tomcat работает по умолчанию порт 8080.
2. Это гаджет XML
</ModulePrefs>
<Content type="html">
<![CDATA[
<link rel="stylesheet" ....type="text/css"/>
<script type="text/javascript" src="path/to/local/dojo.js"></script>
<script>
function loader () {
dojo.require ("dijit.Editor");
dojo.addOnLoad(callback);
}
function callback () {
new dijit.Editor ({}, dojo.byId("editorNode"));
}
dojo.config.parseOnLoad = true;
dojo.config.dojoBlankHtmlUrl = '/blank.html';
dojo.addOnLoad(loader);
</script>
<div id="editorNode" class="tundra">Hello, xcc world!</div>
]]>
</Content>
</Module>
Я тестирую этот гаджет в стандартном примере контейнера Apache Shindig. Я протестировал в Google Chrome, и я получаю следующую ошибку в консоли JavaScript
Происхождение http://127.0.0.1:8080/ не разрешено Access-Control-Allow-Origin. Uncaught Error: Не удалось загрузить 'dijit.Editor'; последний раз пытался "../dijit/Editor.js"
1 ответ
Из того, что я вижу, вы получаете междоменную ошибку разрешения. Это означает, что вы не можете загрузить редактор dijit, потому что dojo пытается загрузить его с помощью Ajax (а Ajax не может получить доступ к ресурсам в другом домене). Как бы глупо это не звучало, 127.0.0.1:8080 считается доменом, отличным от localhost: 8080.
Поэтому вместо доступа к серверу shindig по http://127.0.0.1:8080/ попробуйте получить доступ к нему с http://localhost:8080/.
Дайте мне знать, если это поможет.