Flash Player在站点根URL中查找跨域并挂起

时间:2012-10-26 13:07:12

标签: flash crossdomain.xml cross-domain-policy

我的site.com上有闪存,其他网站上的资源(图片)只有IP地址(假设为1.1.1.1)。

我有s:Image sorce="{FullPathTo1.1.1.1/imageName}"的项目追踪者。

http://1.1.1.1/crossdomain.xml我们有:

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

当FlashPlayer将图像加载到itemrenderers时 - 由于未知原因,不仅要求http://1.1.1.1/crossdomain.xml,还要求http://1.1.1.1/(根网站)。 1.1.1.1 root中没有默认答案 - 它完全是空页。但是,在闪存抛出未捕获的ioError之后(不是s:图像,而是某些系统类)。

我试图解决的问题:

  1. 如果我在项呈示器中隐藏s:Image - 现在出错。所以,正是这样 图像加载会产生错误。
  2. 如果我在代理中将http://1.1.1.1/根答案替换为http://1.1.1.1/crossdomain.xml,则Flash播放器工作正常,没有任何错误。
  3. 因此,出于某种愚蠢的原因,它会在根网址中查找crossdomain.xml,但不会http://1.1.1.1/crossdomain.xml

    有人知道原因以及如何解决它吗?

1 个答案:

答案 0 :(得分:0)

我发现了这个问题: 我使用了Image.contentLoader = ContentCache

这个愚蠢的ContentCache会破坏跨域策略。所以我使用了其他的cachin机制,我在同一个项目中用于加载SFW。