首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flash和Javascript可以通信吗?

问Flash和Javascript可以通信吗?
EN

Stack Overflow用户
提问于 2011-02-04 12:52:24
回答 2查看 3K关注 0票数 4

我正在开发一个使用闪存插座的聊天应用程序。我不想用flash编写整个界面,所以我只希望用flash与socketserver对话,并调用js来修改dom。

这可以做到吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-04 13:12:21

要从闪存中调用JavaScript函数,请使用ActionScript中的ExternalInterface.call函数:

代码语言:javascript
复制
import flash.external.ExternalInterface;

// Call a JavaScript function
ExternalInterface.call("your_javascript_function");

// Get a return value from a JavaScript function
var x:int = ExternalInterface.call("get_x");

// Pass an argument to a JavaScript function
var retval:int = ExternalInterface.call("some_js_function", "the-argument");

要从JavaScript调用ActionScript函数,首先使用ActionScript中的ExternalInterface.addCallback函数:

代码语言:javascript
复制
// "methodName" is the method to call in JavaScript
// instanceObject.realMethod is the method that will be triggered
var successful = ExternalInterface.addCallback("methodName",
                                               instanceObject,
                                               realMethod);

然后,在JavaScript中获取SWFObject的句柄,并按如下方式调用ActionScript方法:

代码语言:javascript
复制
function makeActionScriptCall() {
    var flash = document.getElementById(movieName);
    flash.methodName(parametersIfAny);
}

有关详细信息,请参阅:

票数 9
EN

Stack Overflow用户

发布于 2011-02-04 12:54:56

使用ExternalInterface对象使ActionScript能够调用JavaScript函数,反之亦然。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4894690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档