在Flash 中使用 ExternalInterface

avatar
作者
筋斗云
阅读量:6

在Flash中使用ExternalInterface,可以实现Flash与JavaScript之间的交互。以下是使用ExternalInterface的步骤:

  1. 在Flash文件中,使用ActionScript引入ExternalInterface类:
import flash.external.ExternalInterface; 
  1. 使用ExternalInterface.available属性检查是否支持ExternalInterface。如果返回true,则可以进行交互。
if (ExternalInterface.available) { // 可以进行交互 } else { // 不支持交互 } 
  1. 使用ExternalInterface.call()方法调用JavaScript函数。方法的第一个参数是要调用的JavaScript函数名,之后的参数是传递给JavaScript函数的参数。
ExternalInterface.call("myJavascriptFunction", "参数1", "参数2"); 
  1. 使用ExternalInterface.addCallback()方法在Flash中注册一个函数,供JavaScript调用。第一个参数是在JavaScript中调用函数的名称,第二个参数是要注册的Flash函数。
ExternalInterface.addCallback("myFlashFunction", myFlashFunction); function myFlashFunction(param1:String, param2:int):void { // 处理传递过来的参数 } 
  1. 在JavaScript中,可以使用swfobject库来嵌入Flash对象,并使用getElementById()方法获取Flash对象的引用。然后可以使用callASFunction()方法调用Flash中注册的函数,或者使用setReturnValue()方法将值返回给Flash。
var flashObj = document.getElementById("myFlash"); flashObj.myFlashFunction("参数1", 2); var returnValue = flashObj.myFlashFunctionWithReturnValue(); flashObj.setReturnValue(returnValue); 

这样就实现了Flash与JavaScript之间的交互。注意,交互过程中需要注意参数类型的匹配和安全性的考虑。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!