2012-11-07 25 views

回答

0

即使使用AS3播放器,您仍然可以註冊JavaScript處理程序;當你加載播放器只是確保你追加

enablejsapi=1 

作爲URL的參數。一旦你的AS3球員註冊的JavaScript處理程序,可以再添加一個JavaScript聽衆選手狀態變化(特別是ENDED狀態):

function onytplayerStateChange(newState) { 
    if (newState===YT.PlayerState.ENDED) { 
     // do redirect here 
    } 
} 

編輯

一旦你準備好JavaScript監聽器,然後可以設置一個動作監聽器,該監聽器將在任何狀態更改時調用此javascript函數。這樣的事情,也許(未經測試):

// 'loader' below is the youtube actionscript loader object 

function onLoaderInit(event:Event):void { 
    addChild(loader); 
    loader.content.addEventListener("onStateChange", onPlayerStateChange); 
} 

function onPlayerStateChange(event:Event):void { 
    // Event.data contains the event parameter, which is the new player state 
// make sure ExternalInterface is imported 
    ExternalInterface.call("onytplayerStateChange()", Object(event).data); // calls the javascript function 

} 
+0

我不明白javascript是如何工作的。我已將'enablejsapi = 1'添加到我的嵌入代碼中。然後我將這個函數添加到了我的javascript中(只需一個簡單的警告彈出窗口)並且什麼都沒有發生除了添加這兩小段文字之外,還有什麼我需要做的嗎? –

+0

是的......你必須綁定到這個監聽器函數。有幾種不同的方法可以做到這一點,具體取決於您用來設置嵌入的方法。你是否自己編寫動作腳本?如果是這樣,你會有一個init函數,你可以在其中將stateChange事件綁定到上面的javascript函數。看看我的編輯快速和骯髒(但警告......未經測試)的例子。 – jlmcdonald

相關問題