AS3与JavaScript之间的通讯用ExternalInterface .
ExternalInterface 类是外部 API,这是一个在 ActionScript 和 Flash Player 容器之间实现直接通信的应用程序编程接口,例如,包含 JavaScript 的 HTML 页。 Adobe 建议使用 ExternalInterface 实现 JavaScript 与 ActionScript 之间的所有通信。
详细官方帮助见:http://help.adobe.com/zh_CN/AS3LCR/Flash_10.0/flash/external/ExternalInterface.html
网上摘下来的例子:
在html中嵌入swf有两种方式,一种是用Flash CS3直接发布,还有一种就是大家都熟悉的swfobject。这里我没什么挑剔的,能解决问题就行。
这个例子是flash调用js函数funcWaitingForFlash,执行funcWaitingForFlash函数时再回调flash的func,仅供参考。
package
{
import flash.display.*;
import flash.external.*;
public class Main extends Sprite
{
public function Main():void
{
// …
ExternalInterface.addCallback(‘flashFunc‘, func);
ExternalInterface.call(‘funcWaitingForFlash‘);
}
private function func(str:String):void
{
// …
}
}
}
function callFlashFunc(str)
{
var obj = thisMovie(‘flashas3js‘);
// thisMovie函数在发布时会自动生成
// 如果用swfobject则是
// var obj = swfobject.getObjectById(”flashas3js”);
if(obj){
obj.flashFunc(str);
}
}
function funcWaitingForFlash()
{
callFlashFunc(‘试试看‘);
}
分享到:
相关推荐
因此,确保在允许AS3与JavaScript通信时,要对传递的数据和执行的函数进行安全检查,防止注入攻击。 6. **性能优化**: 由于AS3与JavaScript之间的通信涉及浏览器和Flash Player之间的桥接,可能会带来一定的性能...
标题“FLASH CS3(AS3)与JS之间通信”涉及的是两种主要的Web技术——Adobe Flash(使用ActionScript 3,简称AS3)和JavaScript之间的交互。这两种技术在Web开发中各自发挥着重要作用,Flash主要用于动画和多媒体内容...
1. **ActionScript 3 (AS3)与JavaScript通信**: - **Bridge技术**:AS3和JavaScript之间的通信主要通过Flash Player的`ExternalInterface`类实现。`ExternalInterface.addCallback`方法用于在AS3中注册一个函数,...
然而,有时我们需要让Flash内容与网页的其他部分进行交互,比如获取用户输入、更新DOM元素或者实现页面导航,这就需要AS3与JS之间的通信。 二、通信方法 1. **ExternalInterface API**:这是AS3和JS通信的主要方式...
AS3与JS之间的通信基于浏览器的插件机制,尤其是Flash Player插件。Flash Player提供了一个名为`ExternalInterface`的API,允许AS3代码调用JavaScript函数,同时,JavaScript也可以调用AS3定义的公开方法。这种通信...
3. 性能:过多的Flash与JavaScript通信可能会影响页面性能,因此应合理设计通信频率和数据量。 总结,Flash与JavaScript的通信是一个强大且灵活的技术,它使得网页内容能够实现更丰富的交互效果。理解并熟练掌握...
2. **Flash通信接口**: AS3中,你可以定义一个ExternalInterface接口,它允许AS代码与JavaScript或宿主环境(在这种情况下是C#)进行通信。在AS3中,使用`ExternalInterface.addCallback`方法注册可从外部调用的函数...
本主题聚焦于"FLASH与JS双向通信AS2.0",即ActionScript 2.0版本的Flash与JavaScript之间的数据交换。 ActionScript是Adobe Flash Player支持的编程语言,主要用于创建互动性的内容,如动画、游戏和应用程序。AS2.0...
Flash内容可以通过模拟一个IFrame来使用这个API,从而与JavaScript通信。 9. **Bridge Libraries**: 有一些开源库,如`swfobject`和`GreenSock's AS3 to JS Bridge`,它们简化了JavaScript与ActionScript之间的通信...
这使得AS3与JavaScript或其他支持JSON格式的语言之间的数据交换变得更加简单。 6. 字符串处理:AS3CoreLib包含了对字符串的高级操作,如格式化、模板替换等,可以帮助开发者更有效地处理文本数据。 7. 时间日期...
在AS3.0中,`flash.external.ExternalInterface`类提供了与JavaScript进行通信的接口。通过这个类,我们可以定义AS3.0中的方法,使其能在JavaScript环境中被调用,同时也可以从JavaScript调用AS3.0中的函数,实现...
### SWF之间通信、Flex与SWF之间通信 在探讨SWF之间以及Flex与SWF之间的通信时,我们首先需要了解SWF文件的基本概念及其在Adobe Flash平台中的作用。SWF(Shockwave Flash)是一种被广泛应用于网页动画、游戏和其他...
在AS3中,我们可以创建一个全局的ExternalInterface,该接口允许AS3代码与JavaScript或宿主环境(如VC++)进行通信。在AS3代码中,我们需要声明要暴露给外部调用的函数,例如: ```actionscript import flash....
Flash对象可以通过ActionScript 3(AS3)与JavaScript交互。在AS3中,我们可以使用`ExternalInterface`类来调用JavaScript函数。例如,当Flash中的某个事件触发时,我们可以使用`ExternalInterface.call()`方法将...
6. **最佳实践**:为了提高性能和用户体验,避免频繁的ActionScript和JavaScript通信。考虑批量处理数据,或者使用事件驱动的通信模型。 这个程序例子将展示如何配置和使用这些机制,以便在ActionScript和...
1、as文件是源代码,fla是源文件。 2、将html和swf放在你的站点根目录,然后用网址访问html(比如通常是http://127.0.0.1/asjs.html)即可看到效果!如果直接用浏览器打开html看不到最终效果的 3、flash给js发送消息,...
在AS3中,我们还可以通过`ExternalInterface`类与JavaScript进行通信,这对于实现Flash与网页的交互非常有用。如果你的外部脚本是JavaScript,你可以使用`ExternalInterface.addCallback`来注册一个AS3函数,然后在...
要实现AS3与C#之间的通信,我们需要一个中间层,例如Adobe AIR或Unity的Flash Player支持。这个中间层允许Flash内容与本地操作系统进行交互,从而调用C#编写的代码。 4. **Flash端实现**: - 使用Flash的...
JavaScript与ActionScript 3.0之间的通信通常通过Flash Player的API实现,这个API被称为“External Interface”。外部接口允许ActionScript代码调用JavaScript函数,反之亦然,从而实现了跨域通信。启用这一功能,...
默认情况下,Flash内容仅允许与同一源的JavaScript通信。如果需要跨域通信,必须在SWF的元数据中设置`allowScriptAccess` 参数。 此外,由于每次JS调用AS都会触发Flash Player的唤醒,频繁交互可能会影响性能,因此...