注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

享受编码

    的乐趣

 
 
 

日志

 
 

Flash Builder编译的swf为什么在bin-debug下运行正常,复制到其他文件夹就不正常  

2011-07-25 20:33:47|  分类: Flex & as3 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
相信用Flash Builder/Flex Builder做开发的大部分开发者都遇到过这样的问题,编译的swf在bin-debug中打开(不是在IDE环境中调试,而是直接双击用Flash Player打开),一切正常;而将其复制到其他文件夹,就会弹出安全错误。这是由于Flash Player对本地回放安全性的限制。详情可看官方文档中的“权限控制”部分。不想看官方文档的,继续往下看。

解决这问题的方法主要是以下两种:

一、使用本地信任文件

在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实现,如下图:

  评论这张
 
阅读(1471)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017