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也该正常的,可之前无论怎么样都不行。怀疑可能在那个时间段系统的安全策略有变化,我只能这么想了。)
不过这个方法还是很有用的,因为它在那个时间段解决了问题,缓解了调试的时间。
相关文档:
组件重叠显示,使用属性includeInLayout的true或false
在Flex中,将includeInLayout设置为false,并不代表从“布局”中“隐藏”掉这个UIComponent,而仅仅是将这个UIComponent从布局中忽略,直接布局下一个对象。如果想完全从容器中隐藏掉一个对象,请同时使用visible=”false” includeInL ......
一个数据模型就是一个ActionScript对象,这个对象的属性用来存储应用程序之地你的数据。在向服务器发送数据之前,或者从服务器接收数据但还没有使用之前,数据模型提供一个在Flex应用程序中存储数据的途径。Adobe Flex应用程序与服务器之间的通信只发生在Flex应用程序需要检索的数据尚未可用,和使用Flex应用程序中的新数据 ......
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 ......
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal">
<mx:Panel width="382" height="277" layout="absolute">
......