外部接口类是外部API,是提供ActionScript和Flash Player容器(如包含JavaScript的HTML页)之间直接通信的APP应用程序编程接口。 Adobe建议使用外部接口实现JavaScript和ActionScript之间的所有通信。
在Flash Player中,可以使用HTML页上的JavaScript调用ActionScript函数。 ActionScript函数可以返回JavaScript作为调用返回值立即接收的值。
外部接口提供了一种与JavaScript交互的方法。
可以使用ExternalInterface.call在ActionScript中调用JavaScript。
call的第一个参数是JavaScript函数名称,其馀参数是要传递的参数,可以是0到多个。
可以使用ExternalInterface.addCallback在JavaScript中调用ActionScript。
addCallback的第一个参数是在JavaScript中调用的函数名称。
第二个参数是在运行JavaScript时调用的ActionScript函数。
etc:
//====================================
js文件
函数jssayhi () }
功能组件hello () :void{}
//====================================
as文件
functionasSayhi(:void ) }
33558www.Sina.com/(jssayhi );
33558www.Sina.com/(AssayHello )、asSayHi );
//====================================
as为http://www.Sina.com/(jssayhi ); 时,将执行js文件中的jsSayHi ) )函数。
33558www.Sina.com/(AssayHello )、asSayHi ); 表示js运行asSayHello ()函数时,将运行as文件中的asSayHi ) )函数。
1 : Flex使用ExternalInterface类和ExternalInterface.call ()函数调用JavaScript函数。
注意/html -编辑template /目录中的index.template.html文件。 此文件用于创建/漂亮的蝴蝶-debug/和/漂亮的蝴蝶-release/目录下的主HTML文件。 如果要用JS文件替换JavaScript,而不是直接将JavaScript添加到文件的html中,可以将JS文件包含在html文件中:
script src=' scripts.js ' language=' JavaScript '/script
例如,外部接口. call (vehtypequery )、policy.vehInfo、policy.insKind、unitCode、basePath );
调用由Flash Player容器发布的函数,不传递参数或传递多个参数。 如果函数不可用,则调用返回null。 否则,返回函数提供的值。
2 :外部接口. add callback (;
publicstaticfunctionaddcallback (功能名称: string,closure:Function ) :void;
例如,外部接口. add callback (receivedfromvehtypequeryjy )、receivedfromvehtypequeryjy );
functionName:String —容器可用于调用函数的名称。
closure:Function —要调用的closure函数。 这可以是独立的函数,也可以是引用对象实例的方法的closure方法。 通过传递closure方法,可以将回调指向特定的对象实例。
从String、Number、Boolean、Object、Array发送到JavaScript、JS是通过ExternalInterface.call的方法进行的,在页面上显示后,通过String、Number
通过将String、Number、Boolean、Object和Array分别从页面JavaScript发送到playerexternalinterface.add callback,player首先在TextArea中显示