gpt4 book ai didi

javascript - 将对象从flex传递到javascript

转载 作者:行者123 更新时间:2023-11-28 20:48:25 24 4
gpt4 key购买 nike

我想从 javascript 端调用 Flex 中的方法,

这样我就可以检索包含 Flex 中数据的 javascript 对象。

现在我正在尝试

var result:Object = new Object()
var keyset:Array = data.getKeySet();

for (var i:int = 0 ; i < keyset.length ; i++) {
result[keyset[i]] = data.get(keyset[i]);
}

return result;

但它不起作用。我怎样才能做到正确?

附:我知道这是一个基本问题,但即使我用谷歌搜索了一个小时,我也找不到任何东西。所以请帮忙!

最佳答案

要在页面上的Flash/Flex和JS之间进行通信,请使用ExternalInterface类。您不能直接传递对象,但可以将对象转换为可序列化/字符串。以下是调用名为“myFunc”的函数并为其设置两个参数(一个字符串和一个数字)的方法:

ExternalInterface.call('myFunc',1,'aString');

函数名称(必须始终是字符串)后面有一个 ...rest 参数。很简单,这意味着您可以向函数发送任意数量的参数,并用逗号分隔它们(我们在这里做了两个)。

如果您过去使用过 AS2,您可能知道“eval”函数,它是从 JS 继承的(因此仍然被 JS 使用) - 它分析字符串并尝试使用此函数将其解析为 JavaScript你可以直接发送 Javascript 代码而不是 func/args:

ExternalInterface.call('alert("Hello!")');

如果您想要双向通信,请使用ExternalInterface.addCallBack函数将函数注册为可从JS调用。

如果执行此操作时出现错误,您可能需要调整嵌入代码:“在包含 HTML 页面的 SWF 文件的对象标记中,设置以下参数:

参数名称=“allowScriptAccess”值=“总是”

关于javascript - 将对象从flex传递到javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13007184/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com