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)根目录上

posted @ 2013-05-28 09:18  seabxyh  阅读(754)  评论(0编辑  收藏  举报