`
Viila
  • 浏览: 15924 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

javascript 与 actionscript 之间的通讯

阅读更多
javascript 与 actionscript 之间的通讯
在web浏览器内部部署flash内容时,你可能会希望与作为内容的HTML页面通信。可能想从flash调用JavaScript函数,也可能希望JavaScript函数能够调用flash里面的函数。

这就需要用到flash.external.ExternalInterface类。ExternalInterface类已经在以下浏览器中成功通过了测试:

IE 5.0及以上版本
Netscape 8.0及以上版本
Mozilla 1.7.5及以上版本
Safari 1.3及以上版本
FireFox 1.0及以上版本
1、从flash调用JavaScript函数
要从flash调用JavaScript函数,只需要使用静态的ExternalInterface.call()方法。call()方法至少要求一个参数,即所调用的函数的名称。也能传递附加参数,每个附加参数都传递给JavaScript函数,作为函数的参数。例如ExternalInterface.call(“alert”,”hello”);就是用参数hello调用JavaScript的alert()函数。

如果JavaScript函数返回了值,那么可以将call()方法作为表达式的一部分,例如放在赋值语句中。下面的示例代码将JavaScript函数getStringValue()的返回值分配给变量:

var value:String = ExternalInterface.call(“getStringValue”);

2、从JavaScript调用Actionscript函数
也可以利用ExternalInterface类从JavaScript调用Actionscript函数。要进行这个操作,必须做两件事:在Actionscript中注册函数。使函数能由JavaScript访问,然后通过flash对象从JavaScript中调用这个函数。

使用静态的ExternalInterface.addCallback()方法能够在flash内注册Actionscript函数。这个方法要求两个参数:从JavaScript调用函数时使用的函数名称,要注册的函数方法的引用。下面的示例注册一个称为runScript()的函数,这样就能在JavaScript中以runFlashScript()的形式调用它:

ExternalInterface.addCallback(“runFlashScript”,runScript);

函数注册后,就能够在JavaScript中调用它。如果flash的ID是”flashId”,则可以这样获得插件对象的引用:

document.getElementById(“flashId”).runFlashScript();

可以向函数传递参数。如果Actionscript函数返回值,那么还能在表达式中使用函数调用。
分享到:
评论

相关推荐

    SWF(ActionScript3.0)与JavaScipt(JS)通信示例

    推荐对所有JavaScript与ActionScript之间的通信使用ExternalInterface。 在HTML页中使用JavaScript,可以调用FlashPlayer中的ActionScript函数。ActionScript函数可以返回一个值,JavaScript会立即接收它作为该调用...

    Flex AcrionScript 和 JavaScript 通讯

    `allowScriptAccess`参数必须设置合适,以允许JavaScript与ActionScript之间的通信。 6. **应用场景**: - 数据交换:例如,JavaScript可以从服务器获取数据并传递给Flex应用,或者反之。 - 用户界面交互:如上述...

    利用Flash实现网页长连接并利用Javascript进行通讯

    在互联网技术领域,实现网页与服务器之间的实时通讯是不可或缺的一部分,尤其在游戏或者实时聊天应用中更为重要。传统的HTTP协议采用的是短连接方式,对于需要持续更新数据的应用并不理想。因此,开发人员寻找了替代...

    flash与javascript通讯.txt

    Flash 8引入了ExternalInterface API,这极大地改善了Flash与JavaScript之间的通信能力。通过ExternalInterface,开发者可以直接从ActionScript调用JavaScript函数,并可以处理更复杂的数据类型。 - **调用...

    SWF之间通信、Flex与SWF之间通信

    ExternalInterface是Flex和SWF之间通信的一种方式,它允许ActionScript代码调用JavaScript函数。这种方式适用于SWF文件需要与HTML页面交互的情况。 #### 三、C#与SWF之间的通信 除了SWF文件之间的通信外,有时候...

    AS3与JaveScript之间的通讯视频讲解

    AS3(ActionScript 3)和JavaScript是两种广泛用于网页开发的编程语言,它们各自有着不同的应用场景和优势。在Web开发中,有时需要在Flash内容(由AS3编写)和HTML页面(通常包含JavaScript)之间进行交互,以实现更...

    flash javascript之间的通讯方法小结

    标题《flash javascript之间的通讯方法小结》表明本文主要讨论的是Flash和JavaScript这两种技术之间进行交互与通讯的方法。Flash是一种用于创建动画、游戏和应用的多媒体软件平台,而JavaScript是一种广泛用于网页...

    js+socket实现web通讯

    Flash Player允许JavaScript通过ActionScript与Flash进行交互,因此开发者可以借助Flash的Socket功能,让JavaScript间接实现TCP通信。这种方法称为“Flash Socket”或“Pseudo-Socket”。 **使用Flash Socket的步骤...

    flash和JavaScript通信

    Flash对象可以通过ActionScript 3(AS3)与JavaScript交互。在AS3中,我们可以使用`ExternalInterface`类来调用JavaScript函数。例如,当Flash中的某个事件触发时,我们可以使用`ExternalInterface.call()`方法将...

    flash to js 使用工具包及示例,提供 js 和 flash 之间的通讯

    本文将深入探讨“Flash to JS”的使用,以及如何通过提供的工具包实现JavaScript与Flash之间的通信。 标题提及的“Flash to JS”指的是使用技术手段使得Flash内容能够与网页中的JavaScript代码进行通信,以增强用户...

    flex 和 javascript 测通

    1. **跨域通讯**:在Flex和JavaScript之间进行通信时,由于同源策略的限制,两者需要通过跨域策略文件(crossdomain.xml)来允许数据交换。这使得Flex应用能够安全地从不同源的JavaScript获取或发送数据。 2. **...

    调试flash与html通讯的例子

    总结来说,"调试flash与html通讯的例子"涉及到Flash的ActionScript和HTML的JavaScript之间的数据交换,这在创建互动式Web内容时非常关键。通过学习和实践此类示例,开发者可以更好地掌握这两种技术的协同工作,提升...

    Flash 与 html及C#程序通讯

    在与HTML交互时,Flash主要利用“External Interface”接口,这是一个允许ActionScript代码与JavaScript代码进行通信的API。通过这个接口,Flash可以调用JavaScript函数,反之亦然,从而实现在网页中的数据传递和...

    同机两个swf通讯

    当我们谈论"同机两个swf通讯"时,这意味着我们有两个不同的SWF文件,它们需要在同一个设备上相互通信,交换数据或触发特定的交互行为。这种通信通常通过Flash的本地连接(LocalConnection)功能实现。 本地连接是...

    StageWebView

    通过JavaScript和ActionScript之间的桥接,我们可以实现双向通信:应用程序可以调用JavaScript函数,反之亦然。这种通信机制使得移动应用可以利用网页的动态性,同时也能操控应用程序的其他部分。例如,当用户在网页...

    c#与flash通讯

    首先,我们要理解`ExternalInterface`是Flash Player提供的一种机制,允许AS3(ActionScript 3)代码调用JavaScript函数,从而与宿主环境(如浏览器)进行通信。在桌面应用中,如使用C#的Windows Forms或WPF,可以...

    flash与C#通讯屏蔽右键菜单

    - **Flash External Interface (ExternalInterface)**:这是Flash与JavaScript交互的方式,由于C#可以通过WebBrowser控件嵌入网页,所以Flash可以通过调用JavaScript函数,间接与C#进行通信。 - **本地套接字...

    aflax网页即时通讯框架

    JavaScript与Flash通过ExternalInterface进行通信,允许在Flash对象和JavaScript之间交换数据和调用方法。 5. **XMLSocket接口**:XMLSocket是Flash中的一个关键组件,它提供了类似于TCP套接字的API,用于建立与...

Global site tag (gtag.js) - Google Analytics