比方说,我们有许多ExternalInterface.addCallback
功能,像这样:从ExternalInterface.addCallback查找方法名
ExternalInterface.addCallback('foo', handler);
ExternalInterface.addCallback('bar', handler);
ExternalInterface.addCallback('foobar', handler);
在功能handler
我想找到通过外部接口调用的方法名如foo, bar or foobar
;有没有办法?例如:
private function handler(...args):void
{
arguments.callee.arguments[ 0 ];
}
但我怀疑这会工作
嗯,不是很,你看ExternalInterface.addCallback的第一个参数是你从JS调用的方法名称的字符串,这样的ExternalInterface .addCallback('foo',handler);将允许JS调用一个名为foo()的函数,这将由Flash中的handler()处理。 – 2011-05-23 16:30:14
其次,它不是一个好主意,允许字符串传递到一个函数,这会让你的应用容易被黑客攻击,并且可能XSS – 2011-05-23 16:31:25
你是对的,它被混淆在某处..而对于黑客来说,我只是指出,这是一个可能的方式来解决这个特定的问题......但无论如何,你是对的...... – ThomasM 2011-05-23 16:59:09