我試圖將YouTube視頻嵌入到我們客戶的某個網站,並且它需要能夠在播放完畢後顯示圖像。我認爲最簡單的方法是去除包含div的圖像,以便顯示底層圖像..但是,我有點困難。我對JavaScript的知識知之甚少,而且我通常將這些工作交給的部分現在都無法使用。YouTube JS API - onStateChange
我遇到的問題是包含div不被刪除。播放完成後,播放器只顯示相關視頻列表 - 不會奇蹟般地消失!
任何人都可以建議我到目前爲止寫的代碼?
感謝
-Al
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>
<div id="ytapiplayer">
You need Flash player 8+ and JavaScript enabled to view this video.
</div>
<script type="text/javascript">
var params = { allowScriptAccess: "always" };
var atts = { id: "myytplayer" };
swfobject.embedSWF("http://www.youtube.com/v/VIDEO-ID?enablejsapi=1&playerapiid=ytplayer&version=3&autoplay=1&controls=0&modestbranding=1&showinfo=0&autohide=1",
"ytapiplayer", "621", "244", "8", null, null, params, atts);
// listen
function onYouTubePlayerReady(playerId) {
var ytplayer = getElementById("myytplayer");
ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
}
// closediv
function onytplayerStateChange(newState) {
if (newState === 0){
$('ytapiplayer').remove();
}
}
感謝您的快速反應epascarello,可惜它並沒有幫助完全解決我的問題 - onStateChange被調用,但股利是不被刪除。有任何想法嗎? – 2012-07-19 16:32:43
所以你修正了代碼,你在那裏添加了一個調試語句來看'newState = 0'嗎? – epascarello 2012-07-19 17:24:57