实际上我希望我知道从哪里开始。
我已经嵌入了一个第三方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之后,网页现在可以在火狐和Chrome中运行了,我仍然有一个问题。
所以这里有几个问题...
1)什么是crossdomain.xml?
2)如何让我的网页也能在Chrome中工作?
发布于 2010-11-14 03:46:10
跨域策略文件是授予web客户端(如Adobe Flash Player、Adobe Reader等)跨多个域处理数据的权限的XML文档。取自奥多比网站http://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html。
编辑:问题2的答案:Flex crossdomain.xml not working correctly in Chrome/Firefox?。安装Adobe Flash Player for developers,Fiddler (或类似工具),这些工具应该会让你的生活变得更容易。另请阅读http://kb2.adobe.com/cps/839/cpsid_83950.html。
发布于 2010-11-14 07:08:12
对于像我这样的新手来说,SWF也可以在Chrome上运行!
区别在于http://www.example.com和http://example.com是两个不同的“实体”。
我将文件加载到var flashvars = { xmlPath: "http://www.example.com/xml.aspx" };,并在“不同域”的http://example.com上用Chrome进行了测试
https://stackoverflow.com/questions/4174317
复制相似问题