javascript - 从 flash 返回值到 javascript

标签 javascript actionscript-3 callback externalinterface

如何将值从 AS3 返回到 javascript。我正在从 JS 调用 AS3 方法,并希望该 AS3 方法返回一个字符串:

//javascript
var string = swfObject["abcmethod"](arg1);

我知道的唯一方法是添加一个回调方法,该方法在JS中从闪回中调用。有更好的办法吗?

最佳答案

AS3 和 Javascript 之间的通信管道确实支持将值传递回调用的 Javascript 函数。它在文档中:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/external/ExternalInterface.html

Using the ExternalInterface class, you can call an ActionScript function in the Flash runtime, using JavaScript in the HTML page. The ActionScript function can return a value, and JavaScript receives it immediately as the return value of the call.

如果您的代码不起作用,请尝试使用不同的语法。以下是我通常使用的:

var myFlashObject = document.getElementById("theIdYouSuppliedToSwfObject");
var myResult = myFlashObject.abcmethod(arg1);

你在actionscript中的代码应该是这样的:

ExternalInterface.addCallback("abcmethod", onAbcMethodCall);
private function onAbcMethodCall(...args:Array):String
{ return "Hello World"; }

关于javascript - 从 flash 返回值到 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7275052/

相关文章:

c++ - 将非静态成员函数作为参数传递

iphone - 如何在同步函数调用中处理异步回调?

javascript - 动态删除样式链接后 IE 中的 CSS 样式刷新

actionscript-3 - 我正在尝试测试文本输入框是否具有焦点

javascript - 在使用 JS 渲染 DOM 之前更改脚本 src

javascript - 在 Adob​​e Air App 下使用 Fzip 库

actionscript-3 - 我们可以在flex中添加艺术字样式吗

javascript - 我想在服务器响应之间加载本地存储(使 javascript 代码同步)

javascript - Angular 2 - 如何根据 URL 查询参数动态更改整个 CSS 样式表

javascript - 如何从 jquery datePicker 获取选定的日期