什么是 crossdomain.xml 文件?

Posted

技术标签:

【中文标题】什么是 crossdomain.xml 文件?【英文标题】:What is crossdomain.xml file? 【发布时间】:2011-05-09 15:03:45 【问题描述】:

其实我希望我知道从哪里开始......

我在我的个人网站中嵌入了第三方 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 或 IE。

用fiddler检查请求后,发现没有找到文件crossdomain.xml。所以,*** 帮我找到了一个样本……

<?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 和 I.E 中运行。在 Chrome 中我仍然有问题。

所以这里有几个问题......

1) 什么是crossdomain.xml?

2) 如何让我的网页也能在 Chrome 中运行?

【问题讨论】:

【参考方案1】:

“跨域策略文件是一种 XML 文档,它授予 Web 客户端(例如 Adob​​e Flash Player、Adobe Reader 等)跨多个域处理数据的权限。”。取自 Adob​​e 网站http://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html

编辑:回答问题 2:Flex crossdomain.xml not working correctly in Chrome/Firefox?。为开发人员安装 Adob​​e Flash Player、Fiddler(或类似工具),这些工具应该会让您的生活更轻松。另请阅读http://kb2.adobe.com/cps/839/cpsid_83950.html。

【讨论】:

谢谢!您能否指出为什么 SWF 也不能与 Chrome 一起使用? 我认为这是因为 SO 比 Google 更快更容易:) 其实我是在 fiddler 的帮助下了解到丢失的 crossdomain.xml 文件 @JNF 附言。这是有意的;-) @jonschlinkert 来吧,我没那么傻。为什么如此严肃?我并不是说您应该信任什么来源!另外,您认为 SO 总是正确的吗?不是由一个长镜头。我见过无数错误答案,其中很多甚至被标记为已接受...【参考方案2】:

对于所有像我一样的新手来说,SWF 也可以在 Chrome 中运行!

区别在于http://www.example.comhttp://example.com 是两个不同的“实体”。

我正在将文件加载到 var flashvars = xmlPath: "http://www.example.com/xml.aspx" ; 并在“不同域”http://example.com 上使用 Chrome 进行测试

【讨论】:

这有点奇怪。正如here定义的那样,origin的描述是:协议+端口+主机名。不确定,但可能是两种情况下的主机名不同。

以上是关于什么是 crossdomain.xml 文件?的主要内容,如果未能解决你的问题,请参考以下文章

跨域策略文件crossdomain.xml文件

jwplayer 不支持 crossdomain.xml

Amazon S3 crossdomain.xml 始终显示 403 Forbidden

是否可以在 AS3 中查看从 SWF 下载的 crossdomain.xml?

Unity3d - 因为未找到crossdomain.xml策略文件而被拒绝

美图WEB开放平台环境配置