1.1.1 • Published 9 months ago

lazy-load-youtube v1.1.1

Weekly downloads
-
License
ISC
Repository
github
Last release
9 months ago

Lazy-load YouTube Iframe

A lightweight JavaScript library for lazy loading YouTube videos.

npm.io

Demo

Overview

lazy-load-youtube provides an easy way to load YouTube videos only when they are requested, improving page performance by reducing initial load times.

css

@import '~lazy-load-youtube/dist/index.css';
//or
@import '/node_modules/lazy-load-youtube/dist/index.css';
// or connect styles in js
import 'lazy-load-youtube/dist/index.css';

js

import LazyLoadYouTube from 'lazy-load-youtube';

new LazyLoadYouTube('.jsYouTubeVideoItem');

CDN

CSS

<link href="https://cdn.jsdelivr.net/npm/lazy-load-youtube@1.1.1/dist/index.css" rel="stylesheet">

JS

<script defer src="https://cdn.jsdelivr.net/npm/lazy-load-youtube@1.1.1/dist/index.js"></script>

HTML

<script>
     document.addEventListener('DOMContentLoaded', function() {
        const lazyLoadYouTube = new LazyLoadYouTube('.jsYouTubeVideoItem');
    });
</script>

Working with the library

Place html markup in your project:

<div class="YouTubeVideoContainer">
    <div class="YouTubeVideoItem jsYouTubeVideoItem" data-youtube-video-link="Y_plhk1FUQA">
        <button class="YouTubePlayButton" data-youtube-video-button></button>
    </div>
</div>

In the attribute data-video-link, you need to insert a link to the YouTube video or specify an id Example:

 - https://www.youtube.com/watch?v=Y_plhk1FUQA&t=8278s  <!-- full link -->
 - https://youtu.be/Y_plhk1FUQA  <!-- short link -->
 - Y_plhk1FUQA  <!-- video ID -->

If necessary, you can also insert your own "background" for the video:

<div class="YouTubeVideoItem jsYouTubeVideoItem"
    data-youtube-video-link="..."
    style="background-image: url(img/intro.png);">
</div>

Stop video

Calling the stopVideoPlay method

 document.addEventListener('DOMContentLoaded', function() {
    const stopVideo = document.querySelector('.jsYouTubeVideoStop');
    const lazyLoadYouTube = new LazyLoadYouTube('.jsYouTubeVideoItem');

    stopVideo.addEventListener('click', lazyLoadYouTube.stopVideoPlay);
});

Parameters

buttonContent

Changing the content of the launch button

new LazyLoadYouTube('.jsYouTubeVideoItem', {
    buttonContent: '<svg>...</svg>'
});

onPlay

const lazyLoadYouTube = new LazyLoadYouTube('.jsYouTubeVideoItem', {
    onPlay: (videoElement) => {
        console.log('Play video', videoElement);
    }
});

customBackgroundQuality

Change the quality of the background image

default value - hqdefault

new LazyYouTubeLoad('.jsYouTubeVideoItem', {
    customBackgroundQuality: 'hqdefault'
});
  • For high quality - "hqdefault"
  • For medium quality - "mqdefault"
  • For standard definition miniature - "sddefault"
  • For a thumbnail at maximum resolution - "maxresdefault"
NameTypeDefaultDescriptionExtra options
onPlayfunction---Video launch event---
buttonContentstringHTMLElementThe content of the play button---
customBackgroundQualitystringhqdefaultThe quality of the background imagehqdefault, mqdefault, sddefault, maxresdefault

If you have any questions or wishes, write - https://github.com/emorozov28/youtube-iframe/issues

1.1.1

9 months ago

1.1.0

9 months ago

1.0.8

9 months ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago