如何将值从 AS3 返回到 javascript。我正在从 JS 调用 AS3 方法,并希望该 AS3 方法返回一个字符串:
//javascript
var string = swfObject["abcmethod"](arg1);
我知道的唯一方法是添加一个回调方法,该方法在JS中从闪回中调用。有更好的办法吗?
最佳答案
AS3 和 Javascript 之间的通信管道确实支持将值传递回调用的 Javascript 函数。它在文档中:
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/