解决这问题的方法主要是以下两种:
在Windows XP操作系统中,当前用户的本地信任文件路径为:
C:\Documents and Settings\[你的用户名]\Application Data\Macromedia\Flash Player\#Security\FlashPlayerTrust
全局的信任文件路径为:
C:\windows\system32\Macromed\Flash\FlashPlayerTrust
在这个文件夹中新建一个纯文本文件,文件名使用英文,扩展名为cfg,其中的内容就是你要信任的swf文件所在的本地路径,每行一个路径即可。
例如,在我的信任路径中,已经被FlashBuilder自动建立了一个名为flashbuilder_plugin.cfg的本地信任文件列表,自动添加了当前所有项目的bin-debug目录,其部分内容为:
C:\Documents and Settings\Administrator\Adobe Flash Builder 4 Plug-in
E:\works\kaitian\demo\TestNullFun\bin-debug
E:\works\kaitian\demo\TestPost\bin-debug
E:\works\kaitian\demo\Vector\bin-debug
E:\works\zrong.googlecode.com\bin
由于默认这些目录已经存在于信任文件中,因此是被信任的,这样在bin-debug下直接打开swf文件,没有权限限制。而如果复制到其他文件夹,而那个文件夹并不在被信任的目录中,就会有权限的限制,从而出现安全错误。
也可以使用设置管理器来做这件事:http://www.adobe.com/go/settingsmanager_cn。
这里还有一篇比较老的文章讲的也很详细。
如果swf在运行中载入了外部文件,那么这个swf在单独运行的时候,如果不处于信任目录中,就会显示安全错误(前提是使用的Debug版的Flash Player),无法载入外部的文件。
有时候我们在网上下载一些swf小游戏,同时也将这些小游戏需要的资源一同下载并且放在正确的文件夹中,但却仍然出现安全错误,就是这个原因。这种情况下,只需要在本地搭建Web服务器,将要运行的swf放在web环境中运行即可解决。
如果制作的swf只会在本地运行,不妨将它的回放安全性设定为“只访问本地文件”,这样无论是否在信任目录中,都可以载入本地的外部文件了。在Flash中可以通过“发布设置”进行设定:
在Flash Builder/Flex Builder中,可以使用编译参数-use-network=false实现,如下图:
转载:http://zengrong.net/post/1206.htm