我正在嵌入一個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從來沒有被調用,我不知道爲什麼。
如果你能幫助我,我會非常高興。
感謝