A simple svelte component for creating YouTube embeds with a focus on performance and privacy (GDPR compliant).
- Loads the video thumbnail on page load
- Creates the embed when the thumbnail is clicked
npm install -D svelte-youtube-lite
Run the demo page locally for a preview
<script>
import { Youtube } from 'svelte-youtube-lite';
</script>
<Youtube id="aYtE6XE6b_s" />
<Youtube id="aYtE6XE6b_s" thumbnail="mqdefault" />
(YouTube iframe API fallback uses the videos title as iframe title)
<Youtube id="aYtE6XE6b_s" title="Cute cat video" />
<Youtube id="aYtE6XE6b_s" showTitle="{false}" />
git clone https://github.com/radiofrance/svelte-youtube-lite.git
cd svelte-youtube-lite
npm i
npm run dev
- support for full youtube urls (eg: with playlist and start time) ?
- support for youtube shorts ? change from 16:9 to vertical ?
- use DNS preconnect for all youtube iframe assets
- parameter (boolean) : load with intersection observer
- parameter (number) : start time
- parameter (string) : playlist id
- fallback to YouTube iframe API for browsers with bad autoplay support