Артём Мáлков

Останавливаем/запускаем видео с YouTube на вашем сайте на jQuery+JavaScript

8 апр1 комм

Почти каждый день я решаю интересные задачи, связанные с сайтостроением. И не так давно я задался вопросом (увидев на одном сайте схожий функционал), а как же программно (своим скриптом) остановить или запустить ролик с видеохостинга YouTube на своем сайте.

Мне нужно было запускать ролик сразу при открытии popup-окна, но вам я покажу пример с привязкой событий к ссылкам.

По желанию, используемые методы вы можете использовать и в своих задумках.

Итак, начнем с одного из самых главных – встраивания видео на ваш сайт. Стандартно видеохостинг предлагает вам следующий код для встраивания:

<div id="my_video">

	<iframe width="560" height="315" src="https://www.youtube.com/embed/bhXZiG4bsjA" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

</div>

Здесь мы оставляем все как есть, за исключением ссылки – в ее конец вы добавляете:

?enablejsapi=1

И в итоге у вас должно получиться следующее:

<div id="my_video">

	<iframe width="560" height="315" src="https://www.youtube.com/embed/bhXZiG4bsjA?enablejsapi=1" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

</div>

А далее напишем наши скрипты для обработки со ссылками для запуска и остановки видео. Код ссылок:

<a href="javascript: void(0);" id="play_video">Запустить видео</a>
<a href="javascript: void(0);" id="pause_video">Остановить видео</a>

Скрипт обработки:

<script>

	$(document).ready(function() {
    
		var my_video = document.getElementById("my_video");
		var my_video = my_video.getElementsByTagName("iframe")[0].contentWindow;
      
		$("#play_video").on("click", function() {
		
			my_video.postMessage('{"event": "command", "func": "playVideo", "args": ""}', "*");
			
		});
    
		$("#pause_video").on("click", function() {
		
			my_video.postMessage('{"event": "command", "func": "pauseVideo", "args": ""}', "*");
			
		});

	});
	
</script>

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

Всем удачи и до новых встреч!

Рекомендуем к просмотру
Как зациклить воспроизведение встроенного на сайт видео с YouTube
Статьи и советы
Как получить продолжительность видео с YouTube на PHP+API?
Модули и скрипты
Как быстро и просто получить кадр из видеролика YouTube?
Статьи и советы
1
комментарий
Форма комментирования этого поста скрыта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
    • 2
    766
      •  Гости
    30 мая в 18:53

    Спасибо за код!grin

    Все заработало!

Подняться наверх
«Pandoge» - помощник вебмастера