什么是crossdomain.xml文件?

时间:2010-11-13 19:37:25

标签: asp.net flash cross-domain swfobject 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。

用fiddler检查请求后,我发现找不到文件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和I.E.中使用。在Chrome中,我仍有问题。

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

1)什么是crossdomain.xml?

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

2 个答案:

答案 0 :(得分:23)

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

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

答案 1 :(得分:8)

对于像我这样的所有新手,SWF也适用于Chrome!

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

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