2010-02-09 36 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

相關問題