Actionscript与JavaScript交互示例:MXML应用实例

0 下载量 198 浏览量 更新于2024-08-31 收藏 105KB PDF 举报
本文档主要介绍了ActionScript与JavaScript在Flex(一种基于Adobe Flash的开发框架)环境中的交互实例,通过修改后的代码展示了两者之间的通信。ActionScript是Adobe Flash和Adobe AIR平台上的脚本语言,而JavaScript则是一种广泛应用于Web前端开发的脚本语言。 在给定的MXML(Macromedia XML)页面中,开发者首先定义了一个`<s:Application>`组件,设置了XML版本和编码,并导入了`ExternalInterface`类,这是Flash Player用来在ActionScript和JavaScript之间建立通信的关键工具。`initApp()`函数是应用程序初始化时调用的,它注册了一个名为`myJsFunction`的JavaScript回调函数,当这个JavaScript函数被调用时,会触发`myAsFuncn`方法。 `myAsFuncn`函数接收一个来自JavaScript的字符串参数`js`,并将其与用户输入的文本`asInput.text`结合,形成一个字符串返回给JavaScript。同时,该函数演示了如何在ActionScript中调用JavaScript的方法,这通常是通过`ExternalInterface.call()`来实现的。 `buttonClick`事件处理程序监听按钮点击事件,当用户点击按钮时,首先打印出`asInput.text`的值,然后调用`callJS`函数,传入用户输入的字符串。`callJS`函数实际上是通过`ExternalInterface.call()`将调用的目标(这里是JavaScript函数`jsMethod`)和参数传递给浏览器端。 另一方面,`asMethod`是一个在ActionScript内部定义的函数,当JavaScript通过`jsMethod`调用它时,它会在ActionScript环境中执行,并更新`label.text`的值。 这段代码展示了如何在Flex应用中利用ActionScript与JavaScript进行双向通信,包括注册回调函数、发送和接收数据,以及在不同环境之间执行操作。这对于构建具有跨平台功能的富客户端应用程序或者嵌入Web应用的Flex组件非常有用。通过这种方式,开发者可以充分利用JavaScript的强大功能,同时保持应用的响应性和性能。