Skip to content

Всё для WordPress, веб-разработки — и не только

Лёгкий фасад для YouTube и Vimeo

Лёгкая вставка YouTube и Vimeo: генератор фасада

Вставьте ссылки на ролики — получите готовый блок, который показывает превью и подгружает плеер только после клика. Ноль внешних библиотек: всё, что нужно, внутри сгенерированного кода.

По одному в строке. YouTube: watch?v=, youtu.be, /embed/, /shorts/, youtube-nocookie.com. Vimeo: vimeo.com/ID, player.vimeo.com/video/ID, приватные vimeo.com/ID/ХЕШ. Метка времени ?t= / &start= переносится в фасад. Необязательные уточнения через вертикальную черту: URL | Заголовок | URL превью.
hqdefault существует для любого ролика. maxresdefault есть только там, где оригинал загрузили в 720p и выше — иначе картинка просто не откроется, и зритель увидит пустой прямоугольник.
Общий для всех роликов. Заголовок после тире в строке имеет приоритет. Подпись также попадает в aria-label кнопки и title iframe.
У Vimeo нет предсказуемого адреса кадра, как i.ytimg.com у YouTube: его возвращает только oEmbed API, а запрос к нему мы сделать не можем — инструмент работает без сети. Поэтому загрузите кадр в медиатеку сайта и вставьте ссылку. Без него будет градиентная заглушка с кнопкой play.
Поведение сгенерированного блока
Вставьте хотя бы одну ссылку, чтобы увидеть фасад.

Код собирается в вашем браузере. Ни сгенерированный блок, ни само превью не делают ни одного внешнего запроса — картинки с i.ytimg.com в превью показаны как адреса, а не загружены.

Один встроенный ролик стоит больше мегабайта ещё до первого клика

Стандартный iframe YouTube загружает около 1,3 МБ в двух десятках запросов к семи сторонним доменам — ещё до того, как посетитель решил смотреть видео. На странице с тремя роликами это втрое больше, и почти всегда именно оно портит показатели скорости на мобильных. Фасад решает проблему прямолинейно: сначала показывается только картинка-превью с кнопкой воспроизведения, а настоящий плеер вставляется в момент клика. До клика страница весит на порядок меньше. Существует популярная библиотека для этого, но все инструкции советуют подключать её с чужого CDN — то есть убрать один внешний запрос и добавить другой. Здесь сгенерированный код полностью самодостаточен: стили и скрипт лежат внутри блока. Дополнительный эффект касается приватности. Стандартный iframe ставит трекинговые куки ещё до просмотра. Домен youtube-nocookie.com откладывает это до момента воспроизведения, а фасад — до клика. Для сайтов, ориентированных на европейскую аудиторию, это прямо касается требований о согласии на куки.

Частые вопросы