[Flex] flex的安全沙箱,你保障了安全的同时也害苦了多少我这样的人那

想做一个swf,可以在本地运行(不是上传到服务器上作网站),可以载入xml

文件和运行可执行程序。

结果flex的安全沙箱就这样把我整得快废了。

搜索加摸索了老久老久后,终于解决了。

主要有两个问题:

第一个是用swf运行本地文件的问题。这个一般来说自然是不行的,试想想要是swf可以没有限制的运行exe等程序,这个世界会怎样?

但是做一些设置后还是可以运行的。
flex中运行exe,的核心代码是:
fscommand("exec", "xxxx.exe");

接下来:
在资源文件夹中创建一个文件夹,命名为fscommand
在里面放入你要执型的程序。双击你做了一般的swf,运行后点击文件->创建播

放器,输入文件名,随便输一个就行。

这样swf就会被封装到播放器中执行,要执行的文件也被放到固定的文件夹下,

安全沙箱就一般不会来找你的麻烦了。

需要说明的是,点击debug直接运行时不会有效果的,要点击swf文件才能生效

 

第二个问题:
swf文件不能调用本地xml文件,使用相对路径时,放到服务器上时没问题的。

但是在本地把工程文件夹换个地方就会报错。还是权限的问题。
解决:右击工程,选择properties-->Flex Compiler-->Additional compiler arguments
加上  “  -use-network=false ”
这样不管你把整个工程文件夹移到哪里都会按相对路径执行。

希望对大家有帮助^_^

 

66℃绿茶的空间原创,转载请注明出处。谢谢

posted on 2009-04-08 22:57  Felix Fang  阅读(1229)  评论(4编辑  收藏  举报

导航