FABridge教程(Flex+Ajax)
今天找一些Flex资料,偶然发现很多人在问有关FABridge的问题,看了一下,大致都是在问在FlashBuilder中如何通过FABridge来实现F-A的交互。简单说说吧。
一.通过js访问Flex组件
1.准备工作。先建立Flex工程 :fademo,并放置一个文本框:txtName。做完后代码应该类似于这个样子:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo" minWidth="0" minHeight="0" width="400" height="300">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:TextInput x="160" y="96" id="txtName"/>
</s:Application>
非常简单,呵呵。我用的flex4,flex3的话也类似。
注意一点,flash初始大小别设置的太大了,否则会看不到文本框。
2.在工程上点右键,选择【创建Ajax Bridge】,添加FABridge支持。这里会让你选择对当前工程中哪些类(属性,方法)进行FA桥接。初学的话,只选择我们创建的文本框即可,免得等会js代码太多。这里我们只选中txtName前面的勾勾。点击确定按钮。
3.看看都有什么变化?首先在src内多了一个bridge包,其内多了个FABridge.as;其次,在工程目录下,也创建了一个名为AjaxBridge\fademo的目录,其中lib下有一个对应的FABridge.js。这两个文件的作用我就不废话了,是核心,不过我们不需要动它。
另外,还有我们下面要说的两个文件,fademo.js和fademo.html,这两个文件是我们需要关注的,简洁起见,我把英文注释换掉了。
先看看fademo.js:
//定义一个全局变量fademo
fademo = {};
//回调
FABridge.addInitializationCallback("b_fademo", fademoReady);
function fademoReady() {
//局部变量,获得Flex应用(b_fademo)的根,可以通过b_fademo_root操作flex
b_fademo_root = FABridge["b_fademo"].root();
//为fademo添加一个方法getTxtName,相当于fademo借助b_fademo_root操作flex
fademo.getTxtName = function () {
return
相关文档:
本文编译后的补丁下载链接 http://download.csdn.net/source/1908278
多模块应用,每加载一个模块都会重复加载模块所使用的RSL,现在增加一个
private static var loadedRSLs:Dictionary = new Dictionary(); 来保存是否已加载
mx.core.RSLListLoader
//////////////// ......
FLEX编译的SWF文件,只能选择访问本地文件或访问网络文件,二者只能取一(嗯,为什么?我也不知道,官方说是为了安全考虑),而FLEX编译的默认选项是只能访问网络文件,所以你将bin里的东西COPY到其他地方就不能读取了。而你在默认的bin目录下可以读取得到,是因为FLEX认为你是在IDE环境种,这时是没有这个所谓的安全限制的 ......
Flex 加深学习笔记(-)
本文系我进一步加深Flex相关的学习而做的学习笔记,其中不乏有参考转载的相关书的文章,也不乏有自己写的些东西.这当然也避免不了可能会出现的错误(本人的理解错误或描述错误).望朋友们仅以我的Blog作为您学习路上的参考,一切皆自己尝试后是正确的才是正确的.
欢迎大家一起交流学习;
欢迎大家拍砖;
......
什么是 AJAX 库 API?
AJAX 库 API 是一种内容分布网络,可载入最受欢迎的开源 JavaScript 库的架构。通过使用 Google AJAX API 载入程序的 google.load() 方法,您的应用程序能够迅速从全球任何位置访问不断增长的、最受欢迎的开源 JavaScript 库列表,包括:
jQuery
jQuery UI
Prototype
script.aculo.us
Mo ......