🔔 Alert..!! Get 2 Month Free Cloud Hosting With $200 Bonus From Digital Ocean ACTIVATE DEAL

The jQuery YoutubeVideo.js plugin enables you to embed Youtube videos into the webpage in a simple and efficient way.

Video-Player video Youtube

Documentation

jQuery YoutubeVideo Plugin 1.1.4

Позволяет встраивать на сайт видеоролики с YouTube более простым и оптимальным способом с точки зрения скорости загрузки сайта и адаптивности.

  • Формирование превью в стиле YouTube + возможность кастомизации элементов (обложка, продолжительность, оригинальные заголовок и описание, кнопка воспроизведения).
  • Загрузка содержимого плеера по событию (экономия трафика при загрузке страницы).
  • Адаптивный(возможность указывать соотношение сторон для области видео)/фиксированный режимы.
  • Возможность задавать новые/переопределять опции через data-атрибуты индивидуально для каждого видео.

Пакетные менеджеры:

# Bower bower install --save youtubevideo-js

Подключение:

  1. Подключить jQuery, jquery.youtubevideo.js и css jquery.youtubevideo.css
<!-- jquery.youtubevideo.css --> <link rel="stylesheet" href="jquery.youtubevideo.css"/>  <!-- jQuery --> <script src="libs/jquery/dist/jquery.min.js"></script>  <!-- jQuery ajaxTransport XDomainRequest (для некотор. опций, если нужна поддержка IE8 и IE9) --> <script src="libs/jQuery-ajaxTransport-XDomainRequest/jquery.xdomainrequest.min.js"></script>  <!-- jquery.youtubevideo.js --> <script src="jquery.youtubevideo.js"></script>
  1. Задать HTML-элемент, в который будет помещен видеоролик.
    В атрибуте "data-ytb-vedeo" указать ID ролика.
<div class="example-video" data-ytb-video="9VDFTEoMSis"></div>
  1. Инициализировать плагин на элементе(группе элементов):
$('.example-video').youtubeVideo();

Примеры использования:

https://wahawaher.github.io/youtubeVideo/

Параметры:

Опция Тип Поум. Описание
type string 'video' Тип встраиваемого видео:

'video' - обычный видеоролик и 'playlist'. Для плэйлистов на данный момент не доступен запуск с параметрами и установка стандартных обложек.
cover string | array | boolean(false) 'mqdefault' Обложка видео.

false - не загружать обложку

'default' - 120x90
'mqdefault' - 320x180
'hqdefault' - 480x360 (не у всех видеороликов)
'sddefault' - 640x480 (не у всех видеороликов)
'maxresdefault' - 1280x720 (не у всех видеороликов)
'http://...' - путь к собственному изображению

Можно задать массив значений(строки: стд. значения и ссылки). В данном случае будет загружена обложка по первому доступному ключу(т.е. итоговая ссылка которого будет рабочей). Для работы с этой опцией требуется указать ключ API.
aspectRatio number | boolean(false) 56.25 Адаптивный режим. Подстраивает высоту ролика под ширину в определенном соотношении. Значение false отменяет адаптивный режим (размеры уст. вручную через css).

56.25 - 16:9
75.25 - 4:3
80.25 - 5:4
100 - 1:1
playMode string | jQuery DOM Object 'block' Режим воспроизведения:
'block' - воспр. по событию на блоке с видео.
'button' - воспр. по событию на кнопке воспроизведения.

Либо jQuery объект произвольного элемента/ов DOM.
playEvent string | boolean(false) 'click' Событие, при которм будет подгружен iFrame с роликом. Поддерж. стандартные js-события. При false, iFrame будет загружаться автоматически.
parametrs string 'autoplay=1&autohide=1' Параметры проигрывателя. Каждый новый параметр через "&"
layout object см.1 Основные элементы разметки.
api string '' Ключ YouTube Data API v3. Необходимо указывать для работы с параметрами: title, description, duration, cover. Получить ключ здесь
title boolean false Отображение оригинального заголовка видео. HTML-элемент должен иметь атрибут "data-ytb-title-id" со значением ID видео. Может быть помещен в любое место документа. Для работы с этой опцией требуется указать ключ API.
description boolean false Отображение оригинального описания видео. HTML-элемент должен иметь атрибут "data-ytb-descr-id" со значением ID видео. Может быть помещен в любое место документа. Для работы с этой опцией требуется указать ключ API.
duration boolean false Отображение продолжительности видео. Для работы с этой опцией требуется указать ключ API.

1. Основные элементы разметки:

{    wrap: $('<div />', { class: 'ytb-video-wrap' }),    container: $('<div />', { class: 'ytb-video-container' }),    iframe: $('<iframe />', { class: 'ytb-video-iframe' }),    button: $('<div />', { class: 'ytb-video-play-button'})       .append('<svg>...</svg>'), }

Функции обратного вызова:

Callback Аргументы Поум. Описание
beforeInit [sets:object] n/a Перед началом инициализации.
afterInit [sets:object] n/a После инициализации.
beforeLoadIframe [sets:object] n/a Перед загрузкой iFrame.
afterLoadIframe [sets:object] n/a По окончанию загрузки iFrame.
afterLoadCover [sets:object] n/a По окончанию загрузки обложки.
$('.example-video').youtubeVideo({    beforeInit:       function(sets) {},    afterInit:        function(sets) {},    beforeLoadIframe: function(sets) {},    afterLoadIframe:  function(sets) {},    afterLoadCover:   function(sets) {}, });

Публичные методы:

Метод Описание
init Инициализация
reinit Реинициализация
destroy Вернуть состояние до инита
play Воспроизведение
// Инициализация var options = {}; $('.example-video').youtubeVideo('init', optuins);  // Реинициализация $('.example-video').youtubeVideo('reinit'); // Реинит с текущими параметрами  var newOptions = {}; // Объект с новыми параметрами $('.example-video').youtubeVideo('reinit', newOptions); // Реинит с новыми параметрами  // Вернуть состояние элементa/ов до инита $('.example-video').youtubeVideo('destroy');  // Воспроизведение первого ранее инициализированного видео из выборки $('.example-video').eq(0).youtubeVideo('play');   // Переопределение настроек по умолчанию: $.fn.youtubeVideo.defaults = {};

Дата-атрибуты:

Параметры в data-атрибуте имеют наивысший приоритет. Они переопределят параметры по умолчанию, а так же пользовательские параметры заданные при инициализации.

   // Инициализация группы элементов    $('.example-video').youtubeVideo();
   <!-- Переопределение параметров для отдельных эл-ов через Data-атрибут: -->    <div class="example-video" data-ytb-options="{       duration: true,    }"></div>    <div class="example-video" data-ytb-options="{       aspectRatio: 85    }"></div>

Зависимости:

Требования

  • jQuery версия 1.9.1 или выше
  • jQuery ajaxTransport XDomainRequest (Cross-Domain AJAX для IE8 и IE9)

История изменений:

1.1.4 - 18.09.2018

  • Добавлена возможность задавать в атрибут "data-ytb-video" ссылки с параметром &t=.

1.1.3 - 18.09.2018

  • Добавлена возможность задавать в атрибут "data-ytb-video" не только ID видео, но и полную ссылку вида: https://www.youtube.com/watch?v=XQZUNoO-cLA?t=3s
  • Добавлены режимы воспроизведения (опция playMode), позволяющие установить воспроизведение видео по событию playEvent на блоке с видео, на кнопке или любом другом элементе DOM.
  • Незначительные правки в коде.

1.0.2 - 18.08.2018

  • Добавлена поддержка цепочек вызовов
  • Внесены изменения в наименования некоторых переменных
  • Некоторые правки в readme.md

Лицензия (MIT)

Copyright (c) 2018 Sergey Kravchenko

Данная лицензия разрешает лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми «Программное Обеспечение»), безвозмездно использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, слияние, публикацию, распространение, сублицензирование и/или продажу копий Программного Обеспечения, а также лицам, которым предоставляется данное Программное Обеспечение, при соблюдении следующих условий:

Указанное выше уведомление об авторском праве и данные условия должны быть включены во все копии или значимые части данного Программного Обеспечения.

ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ ГАРАНТИИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЙ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО КАКИМ-ЛИБО ИСКАМ, ЗА УЩЕРБ ИЛИ ПО ИНЫМ ТРЕБОВАНИЯМ, В ТОМ ЧИСЛЕ, ПРИ ДЕЙСТВИИ КОНТРАКТА, ДЕЛИКТЕ ИЛИ ИНОЙ СИТУАЦИИ, ВОЗНИКШИМ ИЗ-ЗА ИСПОЛЬЗОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫХ ДЕЙСТВИЙ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.


You May Also Like