Flex JS 交互 传值(传参数)
老生常谈的话题了。
首先是转帖部分:
http://kingwind.blogbus.com/logs/44323315.html
先来看Flex调用JavaScript中的函数
FlexConnectJavaScript.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<!--[CDATA[
import flash.external.*;
public function invokeJavaScript():void
{
lblResult.text=ExternalInterface.call("returnTheName","huangxi";
}
]]-->
</mx:Script>
<mx:Button id="btnConnect" label="调用JavaScript" click="invokeJavaScript()" x="229" y="204"/>
<mx:Label id="lblResult" text="test" x="205" y="99" width="150" height="80"/>
</mx:Application>
FlexConnectJavaScript.html中<Script>加入
function returnTheName(a)
{
return "HUANGXI";
}
////////////////////////
小结
1.ExternalInterface.call("returnTheName","huangxi");其中第一个参数与JavaScript中的函数相同,第二个参数为传递参数
________________________________________________
首先呢,在HTML模板里面添加一个JS函数:${application}实际上就是object那个flex的id,只不过呢,flex的模板文件里面用这个字符代替了。恩。你换成id也一样。
function sendToActionScript(value) {
alert(value+"http://www.dc9.cn");
document.getElementById("${application}").sendToActionScript(value);
}
然后类,在flex里面添加一个启动注册钩子函数:这个在application initial的时候执行,前面的参数是js的函数名,后面参数是flex的函数名。
ExternalInterface.addCallback("sendToActionScript", receivedfromJavaScript);
然后类,在flex里面加入这个函数
private function receivedfromJavaScript(value:String):void {
mx.controls.Alert.show("JavaScript says: " + value + "\n");
}
然后类,你随便找个什么玩意儿触发一下就可以啦:
<mx:Label click="ExternalInterface.call('sendToActionScript', 'http://www.dc9.cn');" text="http://www.dc9.cn" buttonMode="true"
相关文档:
Flex是 RIA(rich internet applications,即富客户端)的一种技术实现,下面我们把它及其相关的知识与java做个简单的对照,由于个人水平有限,下面的比较仅供参考:
1.RIA vs 跨平台的编程技术
2.Flex vs java
3.flex framework vs jdk
4.flex buil ......
· Flex中应用程序、模块之间参数传递一般有三种方式:
· 1.通过URL携带参数进行传递
· 2.通过事件进行传递
· 3.实现接口进行传递
· 其中URL传递参数时:
· Application之间和Module之间是有区别的 ......
消息服务(Message Service )提供发布(publish)/订阅(subscribe)机制允许Flex 应用程序发布消息、订阅消息终端(messaging destination),从而实现实时数据的推和协作。
一、Message Service
Message Service 提供发布(publish)/订阅(subscribe)机制允许Flex 应用程序发布消息、订阅消息终端(messaging des ......
今天刚接触Flex,但是当我把代码编写完成运行的时候报下了如下错误:
C:\WINDOWS\system32\Macromed\Flash\Flash10e.ocx
Flex Builder cannot locate the required debugger version of Flash Player.
You might need to install the debugger version of Flash Player 9 or
reinstall Flex Builder.
Do you want to ......
Flex组件内置了处理拖拽事件的接口,有些控件已经实现了拖拽功能,比如List、DataGrid、Menu、
HorizontalList、 PrintDataGrid、TileList、Tree,在设置相关的拖拽属性后,它们都可以在相同类型的组
件之间利用鼠标来实现数据的转移。
allowDragSelection ......