通过seekTo()链接到YouTube视频中的特定时间;

时间:2014-12-24 20:17:10

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

我正在尝试获取类似YouTube视频的索引页面,以便有指向视频特定时间的链接。 我试着像Links to Specific Times in YouTube iframe embed中解释的那样做,但不知何故它似乎没有用。 这是我的代码:

<script>
    var tag = document.createElement('script');
    tag.src = "//www.youtube.com/player_api";
    var firstScriptTag = document.getElementsByTagName('script')[0];
    firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

    var player;
    function onYouTubePlayerAPIReady() {
        player = new YT.Player('video', { events: {'onReady': onPlayerReady}});
    }

    function playerSeekTo(seconds) {
        player.seekTo(seconds);
    }
</script>

HTML:

<iframe src="https://www.youtube.com/embed/FKWwdQu6_ok?enablejsapi=1" frameborder="0" allowfullscreen id="video">
</iframe>

<a href="#" onclick="playerSeekTo(70); return false;">Link to 1 minutes 10 seconds</a>
<a href="#" onclick="playerSeekTo(90); return false;">Link to 1 minutes 30seconds</a>
<a href="#" onclick="playerSeekTo(110); return false;">Link to 1 minutes 50 seconds</a>

1 个答案:

答案 0 :(得分:1)

我遇到了三个问题:

第一

tag.src = "//www.youtube.com/player_api";

导致错误。应该是

tag.src = "http://www.youtube.com/player_api";

第二

player = new YT.Player('video', { events: {'onReady': onPlayerReady}});

显然,onPlayerReady未定义。当您删除此部分时,它将正常工作。你想用这个来实现什么目标?

player = new YT.Player('video');

(第3次)

对我而言,您嵌入的视频无法使用。当我嵌入另一个视频(例如Im69kzhpR3I)时,一切都表现得应该如此。