我正在尝试从本地服务器访问远程服务器。
错误#2044:SecurityErrorEvent:text =错误#2048:安全沙箱:http://mydomain1.com/debaton/debaton.swf无法访问http://mydomain2.com/~debaton/services/gateway.php中的数据。
所以我把crossdomain放在了 http://mydomain2.com/~debaton/crossdomain.xml
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>
并放
params.allowscriptaccess = "always";
在我的HTML中。
但仍然有这个错误! 我做错了什么?
答案 0 :(得分:1)
不幸的是,crossdomain.xml需要位于域的根目录下。根据Adobe的KB - Cross-domain policy for Flash movies:
名为crossdomain.xml的跨域策略文件位于服务器的根级别。
答案 1 :(得分:1)
默认情况下,Flash播放器将从Web服务器的根目录加载crossdomain.xml
文件。如果要从子文件夹加载它,则需要使用以下命令显式加载:
import flash.system.Security;
Security.loadPolicyFile('http://mydomain2.com/~debaton/crossdomain.xml');
有关live docs的更多信息。