2011-11-02 7 views
0

我正在嵌入一個SWF影片到我的HTML與SWFObject的靜態發佈方法:如何監聽與swfobject的事件(如「onVideoEnded」)

<object id="swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="400" height="300"> 
    <param name="movie" value="some.swf" /> 
    <param name="play" value="false" /> 
    <param name="menu" value="true" /> 
    <param name="allowFullScreen" value="true" /> 
    <param name="loop" value="false" /> 
    <param name="FlashVars" value="javascriptCallbackFunction=onJavaScriptBridgeCreated" /> 
    <!--[if !IE]>--> 
    <object type="application/x-shockwave-flash" data="some.swf" width="400" height="300"> 
    <!--<![endif]--> 
     <p><a href="http://www.adobe.com/go/getflash"> 
     <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /> 
    </a></p> 
    <!--[if !IE]>--> 
    </object> 
    <!--<![endif]--> 
    </object> 

我想要的視頻後觸發JavaScript函數已完成並嘗試使用flashvars參數中的上述回調函數。我的javascript函數如下:

function onJavaScriptBridgeCreated(playerId) { 
var player = document.getElementById(playerId); 
player.addEventListener("complete", "completeFunc");} 

function completeFunc() { 
alert('video ended');} 

我發現這種方法在http://forums.adobe.com/thread/791624,並修改了它的靜態發佈方法(http://code.google.com/p/swfobject /維基/文檔)。

但問題是,函數completeFunc從來沒有被調用,我不知道爲什麼。

如果你能幫助我,我會非常高興。

感謝

回答

0

我已經通過使用流式播放器解決了這個問題。它非常易於使用並提供了足夠的配置可能性。還是要謝謝你的幫助。

0

我不能給onJavaScriptBridgeCreated代碼說話,但你的SWFObject的代碼不正確,你需要包括兩個<object>節點<param>節點,就像這樣:

<object id="swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="400" height="300"> 
    <param name="movie" value="some.swf" /> 
    <param name="play" value="false" /> 
    <param name="menu" value="true" /> 
    <param name="allowFullScreen" value="true" /> 
    <param name="loop" value="false" /> 
    <param name="FlashVars" value="javascriptCallbackFunction=onJavaScriptBridgeCreated" /> 
    <!--[if !IE]>--> 
    <object type="application/x-shockwave-flash" data="some.swf" width="400" height="300"> 
     <param name="play" value="false" /> 
     <param name="menu" value="true" /> 
     <param name="allowFullScreen" value="true" /> 
     <param name="loop" value="false" /> 
     <param name="FlashVars" value="javascriptCallbackFunction=onJavaScriptBridgeCreated" /> 
    <!--<![endif]--> 
     <p><a href="http://www.adobe.com/go/getflash"> 
     <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /> 
    </a></p> 
    <!--[if !IE]>--> 
    </object> 
    <!--<![endif]--> 
    </object> 

唯一例外是'電影'參數,它只在IE中被第一個使用<object>