API проигрывателя YouTube скрывает кнопку воспроизведения, значки и заголовок видео в iframe

#javascript #iframe #youtube #youtube-api

#javascript #iframe #YouTube #youtube-api

Вопрос:

Я использую API видеопроигрывателя YouTube для встраивания видео YouTube в iframe. Я хочу скрыть кнопку воспроизведения, заголовок видео и значки в правом верхнем углу. Изначально это работает со сценарием, который я написал ниже. Однако, как только видео подходит к концу, видео выглядит следующим образом:

Скриншот ошибки API проигрывателя YouTube

Ни один из значков или заголовок также не являются интерактивными. Почему они появляются после окончания видео? Как я могу отредактировать свой скрипт, чтобы скрыть заголовок видео, кнопку воспроизведения и значки в правом верхнем углу, когда видео заканчивается?

Вот мой сценарий на данный момент:

 // download api code
var tag = document.createElement('script');
tag.src = "http://www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

// this function creates an <iframe> and youtube player after the api code downloads
var player;

function onYouTubePlayerAPIReady() {
    player = new YT.Player('player', {
    height: '400',
    width: '800',
    playerVars: {
        'autoplay': 1,
        'controls': 0,
        'autohide': 1,
        'wmode': 'opaque',
        'rel': 0,
        'loop': 1
    },
    videoId: 'vlRxmgXPcW0',
    events: {
        'onReady': onPlayerReady
    }
});
}

// the api will call this function when the video player is ready
function onPlayerReady(event) {
event.target.mute();
}
  

Ответ №1:

По состоянию на 25 сентября 2018 года этот showinfo параметр был обесценен. https://developers.google.com/youtube/player_parameters#august-23 ,-2018

Добавить 'showinfo' : 0, в параметры конструктора

Итак:

 function onYouTubePlayerAPIReady() {
    player = new YT.Player('player', {
    height: '400',
    width: '800',
    playerVars: {
        'autoplay': 1,
        'controls': 0, 
        'autohide': 1,
        'showinfo' : 0, // <- This part here
        'wmode': 'opaque',
        'rel': 0,
        'loop': 1
    },
    videoId: 'vlRxmgXPcW0',
    events: {
        'onReady': onPlayerReady
    }
});
  

Что касается кнопки воспроизведения, я не верю, что вам разрешено скрывать это — как часть условий предоставления услуг API-интерфейса YouTube.

Комментарии:

1. Спасибо! Если мне нужно сохранить кнопку воспроизведения, есть ли способ заставить ее работать при наведении курсора мыши? В настоящее время я не могу нажать на кнопку. Функция видео видна в нижней части pianopushplay.splashworldwide.com

2. Ну, в этом конкретном случае, который у вас pointer-events: none; включен .video-foreground (что означает, что щелчок все равно ничего не даст), а также <section id="video" class="section section-center video-background"> скрывает видео (из-за .video-background класса), так что вы на самом деле не нажимаете на видео — вы нажимаете на .video-background