4

私は自分のウェブサイトに youtube API を実装してきました。playVideo()たとえば、正常に動作するので、実装に問題はないと思います..しかし、getDuration() でエラーが発生します (そのような関数エラーではありません)。

これは私がそれをやろうとする方法です:

function GetDuration() {
    var duration;
    if (ytplayer) {
        duration = ytplayer.getDuration();
    }
    $(".optionVideo").append("<p>" + duration + "</p>")
}

そのエラーは、そのような関数がないことです。誰が私が間違っているのか知っていますか?

jsFiddle: http://jsfiddle.net/V36cL/6/

4

1 に答える 1

4

GetDurationからonYouTubePlayerReadyではなく、 から呼び出す必要があります$(document).ready。YouTube ビデオは、DOM の後に準備ができている可能性があります。

また、onYouTubePlayerReady関数はグローバルである必要があります (jsFiddle は匿名関数でラップします)。

window.onYouTubePlayerReady = function(playerId) {
    window.ytplayer = document.getElementById("ytPlayer");
    GetDuration();
}

デモ: http://jsfiddle.net/V36cL/7/

于 2012-06-25T17:36:43.527 に答える