Flex 本地安全策略问题
今天在做项目的时候遇到了一个问题,访问xml文件就是成功不了。看了看以前写过的代码都可以,而这个项目中为什么就不行了呢?仔细查看了目录,是百思不得其解啊。
错误信息:*** Security Sandbox Violation ***
Connection to file:///C|/loading.swf halted - not permitted from xxxx/data.xml。这个xml是在工程里面src目录下的。这个信息是在控制台中输出的。
于是我监听了Fault事件,事件描述大概如下:
Only local-with-filesystem and trusted local SWF files may access local resources.
于是使劲儿的Google,很多人都说用crossdomain.xml来解决。可根本没用,因为的xml文件是在本地的,且在工程的src目录下面。这时想起来在Compiler里可以添加参数(貌似可以解决),可是又忘了参数如何写,最后终于在国外的一个网站看到有人用了这个办法,并且推荐用这种方法。一试,果然好用!
方法:工程属性-Flex Compiler-
在输入框中输入 -use-network=false
注意,要与前面的参数之间留一个空格。
问题解决了。
(就在刚才我把 -use-network=false去掉了,但是程序依然正常运行了,诡异!其实本来不添加 -use-network=false也该正常的,可之前无论怎么样都不行。怀疑可能在那个时间段系统的安全策略有变化,我只能这么想了。)
不过这个方法还是很有用的,因为它在那个时间段解决了问题,缓解了调试的时间。
相关文档:
<?xml version="1.0" encoding="utf-8"?>
<!-- Simple example to demonstrate the DateTimeAxis class. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
import mx.collections.ArrayCollection;
......
ArrayCollection转成xml类型示例
下面模拟一组数据exams,将其转化为xml形式.详细代码见下:
Xml代码
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" fontSize="12" creationComplet ......
1.当下载了flash builder 4 beta ,安装启动时候,回提示输入注册码。可通过网址https://freeriatools.adobe.com/flashbuilder4beta/ 输入Flex Builder 3 Serial #: 来换取 builder 4 beta的注册码。在邮件中查收
2.通过http://www.adobe.com/devnet/flex/videotraining/flex4beta/来学习flex4.个人感觉video做的很不 ......
flex项目和组件等
open-source project : Flex
Adobe APIs
主要包含corelib, mappr, flickr, youtube及加密等类库.
http://labs.adobe.com/wiki/index.php/ActionScript_3:resources:apis:libraries
as3awss3lib
与 Amazon S3 交互的 ActionScript 3.0 类库
http://code.google.com/p/as3 ......