Я пытаюсь автоматически воспроизвести видео на YouTube в моем моде Featherlight. Но когда я попытался вызвать всплывающее окно, аудио воспроизводится в фоновом режиме, но видео все еще заморожено. Опять же, нет другого экземпляра этого видео. Он уникален, и в DOM есть только один элемент. Ниже мой HTML код
<a href="#" target-url="#video-lightbox-demo2" class="video_player">Open</a>
<div id="video-lightbox-demo2" class="lightbox">
<div class="video-container player" id="player" name="player"></div>
</div>
<script>
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '390',
width: '640',
videoId: 'M7lc1UVf-VE'
});
}
</script>
Теперь в моем скрипте у меня есть это
$('.video_player').featherlight({
targetAttr: 'target-url',
beforeOpen: function (event) {
alert("Before open triggered");
},
afterOpen: function (event) {
player.playVideo();
}
});
Но когда код player.playVideo()
выполняется при воспроизведении видео на заднем плане. Вы можете здесь аудио играть на заднем плане. Затем, когда я играю реальное видео во всплывающем окне, оно воспроизводит звук в другом случае. Похоже, в DOM есть 2 видео. Что невозможно, потому что когда я просматриваю исходный код страницы, он возвращает только 1 экземпляр.
Как мне автоматически воспроизвести реальное видео во всплывающем окне? Потому что, если я использую переменную player
, она не воспроизводит видео во всплывающем окне