2

我使用 RSS 提要从雅虎获取新闻,使用:

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

是的,这是合法的,虽然当我的 SWF 离线时它可以正常工作——它显示一个安全错误,但我允许我的 D 驱动器“域”在 Adob​​e安全面板中。

但是一旦我将它上传到我的服务器,并在线测试它:

  • 在 Firefox3 中,数据加载失败,在状态栏上给我一条消息“从 finance.yahoo.com 传输数据”

  • 在 InternetExplorer7 中,它静默失败,没有消息或警告。

发生了什么?我什至放了一个带有 * 通配符的crossdomain.xml文件(允许所有域)。

4

3 回答 3

2

问题出在您的 crossdomain.xml 上...实际上将其添加到您的站点没有任何效果,您必须要求雅虎将其放在他们的域中:-)

于 2009-03-19T03:04:39.503 回答
2

似乎您需要在雅虎的子域才能访问它。

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

于 2009-03-19T09:19:27.373 回答
1

我不确定这里到底出了什么问题,你需要给我一些我认为的更多细节。

我强烈建议您完整阅读此内容。

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

此外,跨域仅适用于您请求

它还可以帮助您安装 Fiddler

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

或者查尔斯

http://www.charlesproxy.com/

这将使您能够更好地进行 http 调试。我的猜测是您的安全沙盒行为存在冲突。

于 2009-03-19T01:31:24.940 回答