2010-02-09 34 views

回答

2

ExternalInterface.call的文档有点误导。它声明第一个参数必须是一个函数名,这并不是全部的事实。它可以是任何可以被评估为proprer JS表达式的字符串。事实上

ExternalInterface.call(func, param_1, ... , param_n); 

相当于

eval(func)(param_1, ... , param_n); 

,所以你可能只是以及执行下列操作

ExternalInterface.call("function (foo) { alert(foo); return true; }","test"); 

这种技术有时用于Flash JS injection。希望这个澄清的东西...

+0

啊,是的,这确实清除了它。谢谢。 – 2010-02-10 16:20:44

1

是的。是的你可以。

+0

这个问题是纯粹的理论,所以在我上面调用它的方式调用命名空间函数是正确的? – 2010-02-09 17:16:00

相关问题