比方說,我們有許多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