Flash builder 默认发布swf到网络沙箱
fb 发布的swf 默认放在网络沙箱中 ,不可以访问 本地文件。 但是debug 目录被设置为受信任的目录 ,所以 debug版本可以直接打开;而release版本却不能直接打开,只能用url通过网页打开。 如果想测试release版本的话,可以放置到服务器环境下,或者用url打开! 参考: 相信用Flash Builder/Flex Builder做开发的大部分开发者都遇到过这样的问题,编译的swf在bin-debug中打开(不是在IDE环境中调试,而是直接双击用Flash Player打开),一切正常;而将其复制到其他文件夹,就会弹出安全错误。这是由于Flash Player对本地回放安全性的限制。详情可看官方文档中的“权限控制”部分。不想看官方文档的,继续往下看。
解决这问题的方法主要是以下两种: 一、使用本地信任文件 在Windows XP操作系统中,当前用户的本地信任文件路径为: 全局的信任文件路径为: 在这个文件夹中新建一个纯文本文件,文件名使用英文,扩展名为cfg,其中的内容就是你要信任的swf文件所在的本地路径,每行一个路径即可。 例如,在我的信任路径中,已经被FlashBuilder自动建立了一个名为flashbuilder_plugin.cfg的本地信任文件列表,自动添加了当前所有项目的bin-debug目录,其部分内容为:
由于默认这些目录已经存在于信任文件中,因此是被信任的,这样在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实现,如下图:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |