我有一个flex web项目,我需要使用一些java脚本函数(例如地理位置),所以任何人都可以帮助我理解将它们与彼此联系起来的方式。
答案 0 :(得分:0)
ExternalInterface类用于swf和位于同一页面的javascripts之间的通信。
通过在as3中使用ExternalInterface.call(“functionName”,functionParams ...)函数,您可以在网页中调用javascript中的任何函数。 要从javascript注册要在flex中调用的函数,请使用ExternalInterface.addCallback(“functionName”,functionReference)。
用法:
package {
import flash.display.MovieClip;
import flash.external.ExternalInterface;
public class EITest extends MovieClip {
public function EITest() {
registerWithJavascript();
makeCall();
}
public function registerWithJavascript():void {
// To register a function with javascript
var isAvailable:Boolean = ExternalInterface.available;
if(isAvailable)
ExternalInterface.addCallback("callbackName", actualCallback);
}
public function actualCallback():void {
// Do something
}
public function makeCall():void {
// To call a javascript function
var isAvailable:Boolean = ExternalInterface.available;
var someParamToSend:int = 13;
if(isAvailable)
ExternalInterface.call("someFunction", someParamToSend);
}
}
}