2013-04-10 3 views
0

Я использую компонент загрузки файлов dojo в моем проекте. Все работает хорошо, если я загружаю библиотеку dojo.js с моего сервера. Но если я использую CDN (другой сервер), тогда компонент загрузки файлов дает CROSS DOMAIN XML ERROR и не работает.Ошибка перекрестного домена xml в dojox.form.Uploader

Я знаю, что проблема заключается в том, что компонент загрузки FLASH загружается с другого сервера (CDN), поэтому браузер считает, что его запрос на перекрестный домен xml.

Есть ли способ решить эту проблему? Обратите внимание: если я загружаю библиотеку dojo с моего сервера, тогда все прекрасно работает, но общая загрузка страницы происходит очень медленно. Вот почему мы используем CDN.

+1

Вы пытались добавить файл политики междоменной политики? Он находится на сервере _your_ и сообщает флеш-плеер, что ему разрешен доступ к вашему домену. http://kb2.adobe.com/cps/142/tn_14213.html – CBroe

+0

вы можете рассказать, как настроить его на сервере Windows (2008 r2) –

ответ

0

Я понял. На самом деле нам нужно создать имя файла crossdomain.xml и поместить его в корень нашего домена. Например, Yahoo использует компонент Google Flash и загружается с сервера google на веб-сайте yahoo. Поэтому, если этот компонент Flash попытается связаться с сервером yahoo, тогда BROWSERS попытаются загрузить файл crossdomain.xml с веб-сервера yahoo и посмотреть, разрешен ли домен google.

В моем случае я использовал DOJO CDN и после разрешения в файле crossdomain.xml компонент работает отлично. Формат файла выглядит так:

<!DOCTYPE cross-domain-policy SYSTEM 
"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> 

<cross-domain-policy> 
    <site-control permitted-cross-domain-policies="master-only"/> 
    <allow-access-from domain="ajax.googleapis.com"/> 
    <allow-access-from domain="yui.yahooapis.com"/> 
</cross-domain-policy> 

@CBroe Спасибо за ваши ценные комментарии.

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