视频结束时的youtube api通话功能

时间:2012-05-14 10:25:43

标签: javascript youtube-api youtube-javascript-api

我需要了解嵌入式YouTube视频何时通过javascript结束。

这是我的嵌入代码:

    <object id="ytplayer" height="35" width="560"><param name="movie" value="http://www.youtube.com/v/u8C-ZTQJIkU?version=3&enablejsapi=1&playerapiid=ytplayer&rel=0&fs=0&theme=light&showinfo=0&modestbranding=1&autohide=0&color=white">
    </param>
    <param name="allowFullScreen" value="false">


    </param>
    <param name="allowscriptaccess" value="always">


    </param>
    <embed src="http://www.youtube.com/v/u8C-ZTQJIkU?version=3&rel=0&fs=0&theme=light&showinfo=0&modestbranding=1&autohide=0&color=white" type="application/x-shockwave-flash" allowfullscreen="false" width="560" height="35" allowscriptaccess="always"></embed></object>

这是我到目前为止已经找到的代码,但它已经结束但警报没有出现。你能帮我找到什么错误吗?

    <script type="text/javascript" src="http://www.youtube.com/player_api"></script>
    <script type="text/javascript">
    function onYouTubePlayerReady(playerId) {
      ytplayer = document.getElementById("ytplayer");
      ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
    }

    function onytplayerStateChange(newState) {
       alert("Player's new state: " + newState);
    }
    </script>

感谢。

1 个答案:

答案 0 :(得分:3)

您似乎只显示了部分代码。 对象标记应包含名为 id 的属性,该属性应设置为 ytplayer 。这是完全有效的代码:

 <object type="application/x-shockwave-flash" id="ytplayer" data="http://www.youtube.com/v/u8C-ZTQJIkU?enablejsapi=1&amp;playerapiid=ytplayer&amp;version=3" width="425" height="356"><param name="allowScriptAccess" value="always">
    <param name="allowScriptAccess" value="always">
</object>

</body>
</html>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.1/swfobject.js"></script>    

<script type="text/javascript">

    function onYouTubePlayerReady(playerId) {
        var player = document.getElementById("ytplayer");
        player.addEventListener("onStateChange", "onytplayerStateChange");
    }

    function onytplayerStateChange(newState) {
        alert("New state " + newState); 
    }

</script>