现在的位置: 首页 > web前端 > 正文

externalinterface简单用法

2020年07月16日 web前端 ⁄ 共 1276字 ⁄ 字号 评论关闭

  flashActionScript提供的外部访问接口,用于Flash虚拟机与ActiveX容器(ActiveXcontainer))应用程序或容器应用程序(Containerapplication)通信。接口定义addCallback()及call()两个方法及一个属性available。


  externalinterface用法:


  因为在Flash帮助中已详细说明了Flash与JavaScript容器之间的通信过程,此处不赘述。现以在含有Flash控件的VS(VC)应用程序为例说明:


  容器访问Flash控件:


  A:flash代码:


  //导入


  importflash.external.ExternalInterface;


  //回调声明


  if(flash.external.ExternalInterface.available){


  ExternalInterface.addCallback("flashDoSth",null,flashDoSth);


  }


  //回调定义


  functionflashDoSth(param:TYPE):TYPE{


  //dosthhere;


  //returnsth;


  }


  B:VS(VC)代码:


  在需要FLASH执行上述定义的函数代码段,写入


  1


  m_flash.CallFunction(strXML);


  //说明:


  m_flash即Flash控件变量;


  strXML即为容器传向Flash的数据,为XML类型字符串,在JS网页中,数据直接传输使用,但在控件容器如VS(VC)中,容器与控件数据传方式为:数据(VS/VC)----XML数据---数据(Flash)。


  externalinterface一般的组织方式:


  容器向Flash传递数据为字符串"STR",strXML应该写为:


  1


  "<invokename="flashDoSth"returntype="xml"><arguments><string>STR</string></arguments></invoke>"


  容器向Flash传递数据为数字222,strXML应该写为:


  1


  "<invokename="flashDoSth"returntype="xml"><arguments><number>222</number></arguments></invoke>"


  容器向Flash传递数据为布尔,strXML应该写为(以下方式之一):


  1


  2


  "<invokename="flashDoSth"returntype="xml"><arguments><true/></arguments></invoke>"


  "<invokename="flashDoSth"returntype="xml"><arguments><false/></arguments></invoke>"


  总之,externalinterface给大家简单的介绍了一些,希望大家多看看。


  

抱歉!评论已关闭.