Помогите! Flash не может загрузить данные XML из стороннего домена - PullRequest
2 голосов
/ 19 марта 2009

Я получаю новости от Yahoo, используя RSS-канал, используя:

XML.load("http://finance.yahoo.com/rss/topstories")

Да это законно и все, и хотя он отлично работает, когда мой SWF-файл отключен - он показывает ошибку безопасности, но я разрешаю моему D-диску "домен" в Adobe Безопасность Панель .

Но как только я загружу его на свой сервер и протестирую онлайн:

  • В Firefox3 данные не загружаются, и в строке состояния появляется сообщение «Передача данных с finance.yahoo.com»

  • В InternetExplorer7 происходит сбой без вывода сообщений и предупреждений.

Что происходит? Я даже поместил файл crossdomain.xml с символом * (разрешающим все домены).

Ответы [ 3 ]

2 голосов
/ 19 марта 2009

Проблема с вашим crossdomain.xml ... Фактически добавление его на ваш сайт не имеет никакого эффекта, вы должны попросить Yahoo разместить его на своем домене: -)

2 голосов
/ 19 марта 2009

Похоже, вам нужен поддомен в Yahoo для доступа к этому.

http://finance.yahoo.com/crossdomain.xml

<cross-domain-policy>
    <allow-access-from domain="*.yahoo.com"/>
    <allow-access-from domain="us.js2.yimg.com"/>
</cross-domain-policy>

Быстрый способ - настроить прокси-скрипт на вашем собственном сервере. Там много примеров. Не пробовал, но парень написал это по той же причине, что и вы:

http://www.abdulqabiz.com/blog/archives/general/php_proxy_script_for.php

1 голос
/ 19 марта 2009

Я не уверен, что именно здесь не так, мне нужно дать мне больше подробностей, я думаю.

Я настоятельно рекомендую вам прочитать это полностью.

http://www.adobe.com/devnet/flash/articles/fplayer8_security.html

Кроме того, кросс-домен применим только к домену, который вы запрашиваете - , а не из .

Может также помочь установить Fiddler

http://www.fiddler2.com/fiddler2/

Или Чарльз

http://www.charlesproxy.com/

Это позволит вам лучше отладить http. Я предполагаю, что у вас есть конфликтное поведение песочницы безопасности.

...