4

我需要找出嵌入的 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>

谢谢。

4

1 回答 1

3

您似乎只显示了部分代码。object标记应包含一个名为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>
于 2012-05-14T11:05:27.563 回答