Керуємо Iframe та отримуємо інформацію відео з YouTube
YouTube дає змогу вставляти відео через Iframe, але іноді потрібно керувати цим відео програмно, а не тицяти по елементах керування.
Можна використати api, але це не наш шлях самурая. Ми будем керувати через postMessage.
Покопавшись по js файлах YouTube я знайшов доволі багато функцій які ми, можете використати.
Спробуймо запустити відео.
Важливо для роботи, потрібно додати до url iframe параметр ?enablejsapi=1
<iframe id='video' width="560" height="315" src="https://www.youtube.com/embed/6B1zEnE3H1A?enablejsapi=1" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
Щоб надіслати команду на запуск відео виконаємо команду
document.querySelector('#video').contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}', '*');
Поставити на паузу
document.querySelector('#video').contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}', '*');
Зупинити відео
document.querySelector('#video').contentWindow.postMessage('{"event":"command","func":"stopVideo","args":""}', '*');
Відімкнути звук
document.querySelector('#video').contentWindow.postMessage('{"event":"command","func":"mute","args":""}', '*');
Увімкнути звук
document.querySelector('#video').contentWindow.postMessage('{"event":"command","func":"unMute","args":""}', '*');
Весь список функцій є ? тут
Інформація про відео
Ми можемо не багато дізнатись, але деяка інформація буде корисна:
- Назва відео
- Автор
- Лінк на канал автора
- Прев'ю відео
- Html Iframe
Приклад
https://www.youtube.com/oembed?url=https://www.youtube.com/watch?v=6B1zEnE3H1A&format=json
{
"title": "Оnline chat site in telegram - free chat in site",
"author_name": "Oleksandr",
"author_url": "https://www.youtube.com/@PechenkiUA",
"type": "video",
"height": 113,
"width": 200,
"version": "1.0",
"provider_name": "YouTube",
"provider_url": "https://www.youtube.com/",
"thumbnail_height": 360,
"thumbnail_width": 480,
"thumbnail_url": "https://i.ytimg.com/vi/6B1zEnE3H1A/hqdefault.jpg",
"html": "<iframe width=\"200\" height=\"113\" src=\"https://www.youtube.com/embed/6B1zEnE3H1A?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen title=\"Оnline chat site in telegram - free chat in site\"></iframe>"
}
Далі можете уже використовувати цю інформацію на свій розсуд.