想做一个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℃绿茶的空间原创,转载请注明出处。谢谢