我一直在我的网站上实现youtube API,例如playVideo()可以正常工作,所以我认为实现没有问题..但是getDuration()出现错误(不是此类函数错误)

这是我尝试做到的方式:

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

它的错误是没有这样的功能。
有人知道我在做什么错吗?

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

最佳答案

您需要从GetDuration而不是onYouTubePlayerReady调用$(document).ready。 DOM准备就绪后,YouTube视频可能已准备就绪。

另外,您的onYouTubePlayerReady函数必须是全局函数(jsFiddle将其包装在匿名函数中)。

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

演示:http://jsfiddle.net/V36cL/7/

07-25 20:58