我试图将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