2010-03-18 64 views

回答

7

是的,通過ExternalInterface類。

您可以從Flash電影中調用Javascript並獲取有關您的心臟所需頁面的任何公共信息。

附錄

展望這一年半以後在,我決定增加一些例子:

說你有你這樣的客戶端頁面上的JS功能:

function foo(bar,type) { 
    // do something with bar and type 
} 

你可以這樣稱呼它(使用AS3):

ExternalInterface.call(foo, bar, type); 

請注意,函數名稱是第一個對象,隨後會依次列出參數。

爲了揭露Flash影片的方法爲Javascript之外,你會在您的Flash或Flex(再次,AS3)做到這一點:在頁面上

application1_applicationCompleteHandler(event:Event) { 
    // the app has finished loading, so do whatever we 
    // have to do on load, plus add that callback 
    ExternalInterface.addCallback(foo, bar); 
} 

public function bar(arg1, arg2) : void { 
    // do something with arg1 and arg2 
} 

在JavaScript調用它像這樣(其中爲myMovie是SWF的ID):

myMovie.foo(anArg, anotherArg); 

addCallback方法中,第一個參數是該函數的外部名稱,第二個參數是將調用關閉。

+0

如何從dom對象獲取屬性?例如:'

'?我如何獲得數據屬性? – Sisir 2013-03-30 12:46:56

3

不是我所知道的,但他們可以在包含文檔中執行javascript,這顯然可以訪問DOM本身。

+0

如果我在父文檔中有一些AJAX調用,我可以以某種方式與Flash對象進行通信嗎? – devviedev 2010-03-18 20:16:05