Flex 安全沙箱

来源:互联网 发布:fmg三国志13优化修改器 编辑:程序博客网 时间:2024/04/29 18:08

1.网络访问的swf文件,Security.sandboxType值为remote,这种情况下通过服务器上的跨域文件crossdomain.xml判断是否能够跨域访问。比如http://site1/flash1.swf需要访问http://site2上的资源,则需要在site2服务器上crossdomain.xml中添加site1的访问许可。

 

2.本地访问的swf文件,Security.sandboxType值为localTrusted、localWithNetwork、localWithFile三者之一。localWithNetwork仅允许访问网络资源,localWithFile仅允许访问本地资源,localTrusted两者均可。Flash9 Debug版本默认为localTrusted(?待确认),Flash10 Debug版本默认为localWithNetwork。

 

  因此在使用Flex进行编译时,如果访问本地资源将会产生安全沙箱错误。

 

  解决方法一:更改工程属性,Flex Compiler - > Additional compiler arguments

(Flex3),加上"-use-network=false",该选项强制Security.sandboxType为localWithFile,带来的问题是无法访问网络资源.

 

  解决方法二:更改工程属性,Run/Debug Settings - > Main ->Url or path to lauch,改为通过Url加载Flash,这样Security.sandboxType为remote,本地资源的相对路径也将作为网络相对路径进行访问。

 

  解决方法三:通过设置Flash Player Trust directory,将swf文件所在目录放入Flash Player Trust directory中,这样该swf安全沙箱类型Security.sandboxType为localTrusted。(但该方法在Window Server 2003,Flash 10 Debug环境下暂未通过)

原创粉丝点击