从ExternalInterface.addCallback查找方法名称
假设我们有许多 ExternalInterface.addCallback
函数,如下所示:
ExternalInterface.addCallback( 'foo', handler );
ExternalInterface.addCallback( 'bar', handler );
ExternalInterface.addCallback( 'foobar', handler );
在函数 handler
中,我想找到通过外部接口调用的方法名称,例如foo、bar 或 foobar
;有办法吗?例如:
private function handler(...args):void
{
arguments.callee.arguments[ 0 ];
}
但我怀疑这会起作用
Let's say we have a number of ExternalInterface.addCallback
functions, like so:
ExternalInterface.addCallback( 'foo', handler );
ExternalInterface.addCallback( 'bar', handler );
ExternalInterface.addCallback( 'foobar', handler );
In the function handler
I'd like to find the method name called through the external interface, such as foo, bar or foobar
; is there a way? Eg:
private function handler(...args):void
{
arguments.callee.arguments[ 0 ];
}
But I doubt that'll work
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这应该有效。只需传递一个从 JavaScript 中标识您的函数的参数,例如字符串。因此,当您在 javascript 代码中调用 flash 函数时,请传递一个字符串,然后在处理函数中解析该字符串。例如:
动作脚本:
javascript:
This should work. Just pass a parameter that identifies your function from the javascript, for example a string. So when you call the flash-function in your javascript code, pass a string, which you then parse in your handler function. For example:
actionscript:
javascript:
不完全是您所要求的,但它会给您所需的信息。
只需将您发送的第一个参数设置为函数名称,或者在本例中为具有 funcname 属性的对象,以便您可以测试它是否存在。
JavaSCript
AS3
Not exactly what you are asking for, but it will give you the info you need.
Just make the first parameter that you send the function name or in this case the object with funcname attribute so you can test if it exists.
JavaSCript
AS3