首先,不管是Flex调用js,还是js调用 Flex
需要引入的包(Flex包)import flash.external.*;
其次,简单说说相互之间如何调用
1、Flex程序调用js的方法 :
这个相对简单,如下
Flex中:
public function FlexCallJs(){
ExternalInterface.call("FlexJS"); // flex 直接调js里的方法
}
Js中:
function FlexJS(){
alert("flex call js");
}
2、Js调用Flex中的方法 :
这个相对而言注意的多些,如下
Flex中:
public function callFlexback(){
//该函数必须是先启动,即该函数的作用是监听来自js中的调用 可以放在Application 中的creationComplete
//
ExternalInterface.addCallback("jsCallFlex",jsCallFlex);
//js调flex入口,addCallback()函数前边是js调用该flex的入口,而后边的参数才是调用flex程序中真正的函数
}
//真正的供js调用的Flex里的函数
public function jsCallFlex():void{
Alert.show("@!@");
}
JsP中:
//通过opject对象引入flex编译的哦swf文件 src是相关的路径 其中最主要的东西是embedid,需要同过这个id为IE或者非IE浏览器获取该flex中的方法
Js中:
function jscallflex(){
var x;
if(navigator.appName.indexOf("Microsoft") != -1){//针对IE浏览器
x=document.getElementById('embedid').jsCallFlex();
}
else {//针对非IE浏览器
x=document.embeds['embedid'].jsCallFlex();
}
}