ExternalInterface 类是外部 API,这是一个在 ActionScript 和 Flash Player 容器之间实现直接通信的应用程序编程接口,例如,包含 JavaScript 的 HTML 页。Adobe 建议使用 ExternalInterface 实现 JavaScript 与 ActionScript 之间的所有通信。

在 Flash Player 中,可以使用 HTML 页中的 JavaScript 来调用 ActionScript 函数。ActionScript 函数可以返回一个值,JavaScript 会立即接收它作为该调用的返回值。

ExternalInterface提供了与JavaScript交互的方法。

ExternalInterface.call允许在ActionScript中调用JavaScript。

call的第1个参数是JavaScript中的函数名, 其余的参数是要传递的参数, 可以是0到多个。

ExternalInterface.addCallback允许在JavaScript中调用ActionScript。

addCallback的第1个参数是JavaScript中调用的函数名,

第2个参数是当JavaScript执行时候调用的ActionScript函数。

etc:

//======================================================

js文件

function jsSayHi(){}

function asSayHello():void{}

//======================================================

as文件

function asSayHi():void{}

ExternalInterface.call("jsSayHi");

ExternalInterface.addCallback("asSayHello",asSayHi);

//======================================================

当as执行ExternalInterface.call("jsSayHi");时候,js文件中的jsSayHi()函数被执行。

ExternalInterface.addCallback("asSayHello",asSayHi);表示当js执行asSayHello()函数时候,as文件中的asSayHi()函数被执行。

1 : Flex中利用ExternalInterface类和ExternalInterface.call()函数调用JavaScript函数。

   注:编辑/html-template/目录下的“index.template.html” 文件。该文件是用来创建/bin-debug/和/bin-release/目录下的主HTML文件。如果你不是直接将JavaScript加在文件html中,而是用一个JS文件代替的话,那你可以在HTML文件中INCLUDE JS的文件:

  <script src="scripts.js" language="JavaScript"></script>

  如:ExternalInterface.call("vehTypeQuery", policy.vehInfo, policy.insKind, unitCode, basePath);

  调用由 Flash Player 容器公开的函数,不传递参数或传递多个参数。如果该函数不可用,调用将返回 null;否则,它返回由该函数提供的值。

2:ExternalInterface.addCallback() ;

  public static function addCallback(functionName:String, closure:Function):void ;

  如:ExternalInterface.addCallback("receivedFromVehTypeQueryJY", receivedFromVehTypeQueryJY);

   functionName:String — 容器可用于调用函数的名称。

   closure:Function — 要调用的 closure 函数。这可能是一个独立的函数,或者可能是引用对象实例方法的 closure 方法。通过传递 closure 方法,可以将回调定向到特定对象实例的方法。

由ExternalInterface.call的方法传送 String,Number,Boolean,Object,Array至JavaScript,JS 显示在页面上后相应返回String,Number,Boolean,Object,Array给Player,Player接收后显示在 TextArea内;

再由页面JavaScript分别传送String,Number,Boolean,Object,Array至Player ExternalInterface.addCallback的方法,Player先予以显示至TextArea内,然后返回 String,Number,Boolean,Object,Array给JavaScript;

ExternalInterface接口相关推荐

  1. flash和js通过ExternalInterface类进行交互

    Flash提供了ExternalInterface接口与JavaScript通信 两个方法: call和addCallback 作用: call让Flash调用js里的方法 addCallback是用 ...

  2. 基于HTML5实现的(本地存储)多标签页面元素的复制粘贴

    历史 在HTML5本地存储之前,如果我们想在客户端保存持久化数据,有这么几个选择: HTTP cookie.HTTP cookie的缺点很明显,最多只能存储4KB的数据,每个HTTP请求都会被传送回服 ...

  3. [原]flash研究(三)——Falsh与JavaScript交互

    一.getURL方法在flash中可以用getURL方法来调用JS中的函数. 例: GetURL_btn.onRelease=function(){     getURL("javascri ...

  4. Flash和JavaScript通信

    Flash提供了ExternalInterface接口与JavaScript通信,ExternalInterface有两个方法,call和 addCallback,call的作用是让Flash调用js ...

  5. HTML5本地存储不完全指南

    历史 在HTML5本地存储之前,如果我们想在客户端保存持久化数据,有这么几个选择: HTTP cookie.HTTP cookie的缺点很明显,最多只能存储4KB的数据,每个HTTP请求都会被传送回服 ...

  6. Web缓存相关知识整理

    一.前言  工作上遇到一个这样的需求,一个H5页面在APP端,如果勾选已读状态,则下次打开该链接,会跳过此页面.用到了HTML5 的本地存储 API 中的 localStorage作为解决方案,回顾了 ...

  7. flash 与javascrip的t交互和注意事项

    网上大多都是帮助文档,其实as和js的交互有很多注意事项,来总结一下: 一.flash到javascript 1. getURL方法 getURL("javascript:s2j_call( ...

  8. 前端面试题集锦——JavaScript

    前端面试题集锦--JavaScript 1.请你谈谈 Cookie 的优缺点 cookie是存储于访问者计算机中的变量 cookie是浏览器提供的一种机制 可以由JavaScript对其进行控制(设置 ...

  9. 牛客网—web前端练习

    2018-12.1第一次练习 1.下列哪个样式定义后,内联(非块状)元素可以定义宽度和高度:display:block display属性 : block : CSS1 块对象的默认值.将对象强制作为 ...

最新文章

  1. 独家 | 5大冠军出炉!李开复的AI挑战赛,冠军们聊到了这么些感受
  2. Console控制台的正确打开方式
  3. 华为的研发给我们什么启示?
  4. 数据库SQL语言从入门到精通--Part 6--单表查询(快来PICK)
  5. hadoop重启后 9000端口不在
  6. Nature | IL-27直接靶向脂肪细胞以促进产热而改善肥胖
  7. comsol仿真模型:风力发电机复合材料叶片的应力和模态分析
  8. 3cdaemon漏洞挖掘 Exploit
  9. 微星主板前置音频接口的连接说明
  10. 数字逻辑 课程设计 多功能电子钟 Quartus II
  11. Ballerina语言有望改善应用程序集成
  12. java手机振动软件_Android实现手机震动效果
  13. 金属质感怎么把握?高光和反光对比一定要加强~
  14. 明年打算考会计证 -柯桥有没有推荐的地方-泓畅
  15. 微软、滴滴、360等前端大厂面试题
  16. python贪吃蛇小游戏代码_python 贪吃蛇小游戏代码
  17. 在JDK和Eclipse下Java Applet的编写和运行方式
  18. 生产部门如何快速应对订单变更?订单变更管理方案
  19. Godsend(博弈)
  20. 天狼星ID:推动区块链上的自我主权时代

热门文章

  1. 基础数据类型转换和深浅拷贝
  2. L1-052 2018我们要赢 - java
  3. 好用的待办事项app有什么功能?
  4. gulp解决前端缓存gulp-rev-collector
  5. 什么是流程图?一篇文章就帮你搞定了
  6. 2019年12月23日--2019年12月29日(合计38小时,剩9962小时)
  7. keras之父《python深度学习》笔记 第八章
  8. window.XMLHttpRequest详解
  9. Ask, Attend and Answer: Exploring Question-Guided Spatial Attention for Visual Question Answering
  10. File Delete Absolutely 获得 100% CLEAN Softpedia award