我在域http://domain1.com/myroot/的swf应用程序必须使用域http://domain2.com/myroot2/
中的资源当swf尝试从辅助域访问资源时,它会获得SecurityError:
错误#2048:违反安全沙箱。
出现这种情况是因为我的应用程序默认尝试加载crossdomain.xml(来自http:/domain2.com/crossdomain.xml)。
我的问题是我无法访问domain2.com根目录以将文件放在crossdomain.xml中。我只能把它放在http:/domain2.com/myroot2/目录中。
我的问题是:如何强制我的swf应用程序在http:/domain2.com/myroot2 /中搜索crossdomain.xml?
P.S。 Security.loadPolicyFile(“http://domain2.com/myroot2/crossdomain.xml”)不起作用,因为默认情况下使用metapolicy“master-only”忽略所有Security.loadPolicyFile用法。
答案 0 :(得分:0)
loadPolicyFile应该这样做
Security.allowDomain( 'http://domain2.com' );
Security.loadPolicyFile( 'http://domain2.com/myroot2/pf.xml' );
答案 1 :(得分:0)
Flash的新沙箱安全性要求您始终在服务器的根目录上拥有跨域策略文件。如果要将子域文件放在子目录中,则根的主跨域文件必须允许在服务器上使用该文件。