2012-02-29 111 views
0

讓我們假設我有一個名爲「data」的對象,它有一個名爲「closeItem」的callBack函數,它執行某些操作。Javascript:從flash(swfObject)調用javaScript函數?

所以我有一個關閉按鈕的Flash文件。點擊這個我打電話給這個關閉這個項目的函數。

所以問題是?

如果我通過這個「closeItemFunction」作爲全局函數,這工作正常。

但是,如果將此函數作爲「data.closeItem」傳遞,則不會引發一些falsh錯誤。

,所以我只想問


「不閃只能打電話gobal範圍的JavaScript函數」

+1

給我們提供一些代碼,以及「一些閃存錯誤」是什麼? – 2012-02-29 07:30:12

+0

我的問題實際上是「是不是隻調用gobal作用域的javascript函數」? 它沒有調用我的JavaScript函數,所以「我認爲可能是一些Flash錯誤:)」 – 2012-02-29 08:51:12

回答

1

簡答題(iirc); 「是」。

可能可以通過調用

ExternalInterface.call("eval", "data.closeItem()") 
2

你可以用JavaScript的你想在你宣佈一個匿名函數來執行,並從ActionScript調用,這樣來解決:

ExternalInterface.call("function() { data.closeItem(); }"); 

這個函數被上面的語法調用,執行,看起來有點奇怪,但是如果你願意,你可以更明確地聲明和分開調用,如下所示:

ExternalInterface.call("(function() { data.closeItem(); })()"); 
+0

將嘗試這一個 – 2012-03-01 08:30:43