2013-09-17 4 views
1

В настоящее время я экспериментирую с сайтом Google App Engine/Go + Polymer.dart по адресу http://xclamm.appspot.com/.Ошибки, связанные с CORS при получении клиентского скрипта API канала

Проблема в том, что я получаю следующее сообщение об ошибке при доступе http://xclamm.appspot.com/ с Dartium (31.0.1612.0 Developer Build 219647).

XMLHttpRequest cannot load https://talkgadget.google.com/talkgadget/channel.js. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://xclamm.appspot.com' is therefore not allowed access. 

Я сделал некоторые исследования и обнаружил, что проблема связана с тем, как я имею в виду /_ah/channel/jsapi, но я не могу найти, как это исправить. Я пробовал следующие способы ссылаться на channel.js, но я все равно получаю ту же ошибку.

<!-- Following doesn't work --> 
<script type="text/javascript" src="/_ah/channel/jsapi"></script> 
<!-- Following doesn't work either --> 
<script type="text/javascript" src="https://talkgadget.google.com/talkgadget/channel.js"></script> 

Если я запустил сайт на dev_appserver.py, он работает нормально. Я что-то упускаю?

Исходный код доступен по адресу https://github.com/rillomas/xclamm-gae, и я использую Google App Engine SDK 1.8.4 для Go (x64 Windows).

ответ

1

Я переместил тег <script type="text/javascript" src="/_ah/channel/jsapi"></script> с main-stage.html (html для внутреннего веб-компонента) на index.html (корень html для сайта), и ошибка CORS исчезла.

Тег <script> был первоначально размещен внутри тега <polymer-element> и был (возможно) переведен на XMLHttpRequest от Polymer.dart, что вызвало ошибку.

Смежные вопросы