Ссылка на определенное время в видео на YouTube с помощью seekTo();

Я пытаюсь получить что-то вроде индексной страницы видео YouTube, чтобы были ссылки на определенное время видео. Я попытался сделать это так, как описано в " Ссылки на определенное время" на YouTube, если встроено iframe, но почему-то это не работает. Это мой код:

<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 ответ

Я столкнулся с тремя проблемами:

первый

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');

(Третий)

Мне видео, которое вы вставляете, недоступно. Когда я встраиваю другое видео (например, Im69kzhpR3I), все ведет себя как следует.

Другие вопросы по тегам