其实我希望我知道从哪里开始
我已经在我的个人网站中嵌入了第三方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%","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上工作?
解决方法
“跨域策略文件是一个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。