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"
相关文档:
1. 整体的结构分布:
各模块使用Module来划分,每个模块的页面及其相关的组件元素都是使用Component来划分;
模块的切换使用加载的方式,模块内部的切换使用页面跳转的方式;
技术问题:模块的切换与页面的切换的过程!
ModuleLoader与ModuleManager之间的取舍,选择了后者,可控的更多,但是目前的影响并不大!
关于M ......
Flex中As调用Js的方法是:
1、导入包 (import flash.external.ExternalInterface;)
2、使用ExternalInterface.call("Js函数名称",参数)进行调用,其返回的值就是Js函数所返回的值
Js调用As的方法是:
1、导入包 (import flash.exte ......
今天刚接触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 ......