LazyLoad Embed Youtube Player - simple and lightweight plugin - pure JavaScript
- Status
- Quick Start
- What's included
- Bugs and feature requests
- Installation
- How to Use
- Features
- CSS Classes
- FAQ
- Versioning
- Changelog
- Team
- Code of Conduct
- Copyright and License
Several options are available:
- Download the latest release.
- Clone the repo:
git clone https://github.com/the-muda-organization/youtube-lazyload.git
- Install with Composer:
composer require the-muda-organization/youtube-lazyload
Within the download you'll find the following directories and files, logically grouping common assets and providing both compiled and minified variations. You'll see something like this:
There are no dependencies. No jQuery or other plugins required. See below for Installation Guide and How to Use
yt-lazyload/
│
└─ 4.x.x/
│
├── css/
│ ├── yt-lazyload.css
│ └── yt-lazyload.min.css
│
└── js/
├── yt-lazyload.js
└── yt-lazyload.min.js
Have a bug or a feature request? Before opening a new issue search for existing and closed issues. If your problem or idea is not addressed yet, open a new issue.
- Download and copy files to your project
- Open yt-lazyload.js
- Change settings:
- line 24:
settings_thumb_base_url
to custom URL where your thumbnails are located.
- line 24:
- Minify JavaScript and place it in yt-lazyload.min.js.
- Add CSS and JavaScript to your project:
<link href="https://example.com/yt-lazyload/4.x.x/css/yt-lazyload.min.css" rel="stylesheet">
<script src="https://example.com/yt-lazyload/4.x.x/js/yt-lazyload.min.js"></script>
NOTE: Because of small file sizes I recommend adding CSS & JS inline!
<style>...</style>
<script>...</script>
- Get Youtube ID of your movie, example:
d4AmYBhGBfM
- Add the folowing code to embed a video:
<div class="yt-lazyload" data-id="d4AmYBhGBfM" data-thumb="" data-logo="3"></div>
- Name your thumbnail using Youtube ID
d4AmYBhGBfM.jpg
- to use other file types change settings in JavaScript - Place your thumbnail in a folder set in JavaScript
Attribute | Explanation |
---|---|
class="yt-lazyload" |
Main container. You can add additional style like border , box-shadow etc. or Bootstrap classes like img-thumbnail , shadow etc. |
data-id="d4AmYBhGBfM" |
Youtube video ID |
data-thumb="" |
If you need to add more thumbnails you can choose which one is displayed. It is usefull for quality specific thumbs (SD, 720p, 1080p) or in case of multiple thumbs random one can be selected. Name your files d4AmYBhGBfM.jpg and add custom suffix.For 3 thumbnails make d4AmYBhGBfM--1.jpg , d4AmYBhGBfM--2.jpg and d4AmYBhGBfM--3.jpg .To show thumbnail 2 use data-thumb="--2" and so on.You can randomize numbers using <?php echo mt_rand(1,3);?> .Leave empty if you have only 1 thumbnail. |
data-logo="3" |
Youtube logo color. You can customize it in CSS. 0 = none - logo will not be added by JavaScript, 1 = black, 2 = color-black, 3 = white, 4 = color-white (v4.0.0+). |
CSS class | Explanation |
---|---|
.yt-lazyload |
main container |
.yt-lazyload::before |
pseudo-element used to maintain container ratio and set background-color |
.yt-lazyload-wrap |
container and its content added via javascript |
.yt-lazyload-content |
container for play button, logo and thumbnail as background-image |
.yt-lazyload-playbtn |
play button (black) |
.yt-lazyload-playbtn:hover |
play button on hover (red) |
.yt-lazyload-logo |
Youtube logo |
.yt-lazyload-logo:hover |
Youtube logo on hover |
.yt-lazyload[data-logo="X"] .yt-lazyload-logo |
Youtube logo color based on data attribute |
.yt-lazyload iframe |
Youtube embeded iframe after click |
- Can I use Youtube domain to get thumbnails?
- I am not sure if it will work in all cases, but you can try. You need to adjust JavaScript.
- Change line 24:
settings_thumb_base_url = 'https://img.youtube.com/vi/';
- Change line 88:
this_content.style.setProperty('--yt-lazyload-img','url("' + settings_thumb_base_url + this_data_id + '/maxresdefault.jpg")');
- Can I use Youtube lazyload with other frameworks like Bootstrap?
- Yes you can! There should be no conflict with other frameworks.
- Can I embed video players other than Youtube?
- Check out our sister project for Vimeo Player: https://github.com/the-muda-organization/vimeo-lazyload
Youtube LazyLoad will be maintained under the Semantic Versioning guidelines as much as possible. Releases will be numbered with the following format:
<major>.<minor>.<patch>
For last releases see detailed CHANGELOG.
We will behave ourselves if you behave yourselves. For more details see our CODE_OF_CONDUCT.md.
Code and documentation copyright 2017-2020 The MUDA Organization.
Code released under the MIT License.