Flash跨域问题
Flash跨域问题:
问题:Flash放在a.domain.com上,PHP脚本放在b.domain.com上,即使在同主域下也不能进行跨域访问。
原因:由于flash采用完全域匹配规则,所以无法访问另一个域的数据。
解决:原理很简单
无须对Flash做任何处理,只要在目标域b.domain.com的根目录上放入一个策略文件crossdomain.xml即可。
Flash访问另一个域的数据,flash player 会自动从目标域根域加载策略文件crossdomain.xml。
如果访问的数据所在的域在策略文件中,则数据将可访问。
具体解决方式:
1.建立文件:crossdomain.xml
<?xml version="1.0"?> <!--http://abcd.com/crossdomain.xml--> <cross-domain-policy> <allow-access-from domain="www.baidu.com" /> <!--只允许百度主域访问--> <allow-access-from domain="m.baidu.com" /> <!--只允许百度二级域m.baidu访问--> <allow-access-from domain="*.baidu.com" /> <!--只允许百度所有域访问--> <allow-access-from domain="*" /> <!--无访问限制--> </cross-domain-policy>
2.把文件crossdomain.xml放入被Flash访问的域(b.domain.com)根目录上