2010-11-13 5 views
17

На самом деле, я бы хотел знать, с чего начать ...Что такое файл crossdomain.xml?

Я включил управление галереей изображений SWF третьей стороны на личном веб-сайте.

SWF управляется XML. Я загружаю XML-файл «на лету» следующим образом:

var flashvars = { xmlPath: "http://www.example.com/xml.aspx" }; 
       var params = { allowFullScreen: "true", wmode: "transparent", allowScriptAccess: "always"}; 
       var attributes = {}; 
       swfobject.embedSWF("main.swf", "gallery", "100%", "100%", "9.0.0", "expressInstall.swf", flashvars, params, attributes); 

Проблема в том, что страница не работает должным образом. На самом деле он работал только в Firefox, а не в Chrome или I.E.

После проверки запросов с помощью скрипача я обнаружил, что файл crossdomain.xml не найден. Так, StackOverflow помог мне найти образец ...

<?xml version="1.0" ?> 
<cross-domain-policy> 
    <site-control permitted-cross-domain-policies="master-only"/> 
    <allow-access-from domain="*"/> 
    <allow-http-request-headers-from domain="*" headers="*"/> 
</cross-domain-policy> 

После добавления crossdomain.xml веб-страницы, в настоящее время работает в Firefox И И.Е. В Chrome у меня все еще есть проблема.

Так вот несколько вопросов ...

1) Что такое crossdomain.xml?

2) Как я могу сделать свою домашнюю страницу в Chrome тоже?

ответ

23

«Файл политики междоменной политики - это XML-документ, который предоставляет веб-клиент, такой как Adobe Flash Player, Adobe Reader и т. Д. - разрешение на обработку данных через несколько доменов». Снято с сайта Adobe http://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html.

EDIT: Ответьте на вопрос 2: Flex crossdomain.xml not working correctly in Chrome/Firefox?. Установите Adobe Flash Player для разработчиков, Fiddler (или аналогичных), эти инструменты должны сделать вашу жизнь проще. Также читайте http://kb2.adobe.com/cps/839/cpsid_83950.html.

+0

Спасибо! Не могли бы вы указать мне, почему SWF не работает с Chrome? – OrElse

+15

Я думаю, это потому, что SO быстрее и проще, чем Google :) – Joe

+0

На самом деле я узнал о пропавшем файле crossdomain.xml с помощью fiddler – OrElse

8

И для всех новичков там, как и я, SWF работает и в Chrome!

Разница состояла в том, что http://www.example.com и http://example.com являются ДВА РАЗЛИЧНЫХ «сущностей».

Я загружал файл на var flashvars = { xmlPath: "http://www.example.com/xml.aspx" }; и сделал мои тесты с Chrome, на «другой домен» http://example.com

+0

Это немного странно. Как определено [здесь] (https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy), описание происхождения: Protocol + Port + Hostname. Не уверен, но может быть имя хоста в обоих случаях другое. –