Socket
Socket
Sign inDemoInstall

vue-youtube-iframe-gene

Package Overview
Dependencies
10
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    vue-youtube-iframe-gene

Vue JS component wrapping a Youtube Video Player with the Youtube Iframe API


Version published
Weekly downloads
9
decreased by-10%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

Vue Youtube Iframe API

Hi, this is a Vue plugin to add youtube embed videos to your web project and control them.

It is very handy to create a custom player based on youtube videos, checkout this website for example : https://foreignrap.com

Installation

First add it to your project via yarn:

yarn add vue-youtube-iframe-api

OR npm:

npm install vue-youtube-iframe-api --save

Then, tell Vue about the plugin (Note that the name of the variable here is up to you).

import Vue from 'vue';
import Vytia from 'vue-youtube-iframe-api';

// simple way
Vue.use(Vytia);

// OR, with configuration
Vue.use(Vytia, {
  scriptUrl: null, // API url, OPTIONAL, default: https://www.youtube.com/iframe_api
  width: null, // global player width, OPTIONAL, default: 640
  height: null, // global player height, OPTIONAL, default: 360
  playerVars: null, // global playerVars, OPTIONAL, default: {}
  onLoad: null, // iframe loaded callback function, OPTIONAL
  onError: null, // iframe load failed callback function, OPTIONAL
});

// instan your Vue app
new Vue( ... );

This Vue plugin gives you access to a <vytia-player ytid="..."></vytia-player> component.

However, you can use the component name you want by importing the component locally or globally.

import Vue from 'vue'
import VuePlayerPlugin, { Player } from 'vue-youtube-iframe-api'

Vue.use(VuePlayerPlugin)

// globally
Vue.component('my-custom-name', Player)

// OR locally
new Vue({
  components: {
    MyPlayer: Player
  }
})

How it works ?

Just add the component where you want with either a id or url prop.

When the prop changes, the player will automatically load the new relevant video.

Component Props

propdescriptiontypedefault
idyoutube video id note: both "ytid" & "yturl" can't be used at the same timeStringnull
urlyoutube video url note: both "ytid" & "yturl" can't be used at the same timeStringnull
widththe iframe's width note: youtube asks for 200 minimumStringNumber
heightthe iframe's height note: youtube asks for 200 minimumStringNumber
playerVarsthe iframe's player variables, full list: https://developers.google.com/youtube/player_parameters?hl=frObject{}

Make sure to look at all player variables as this will help you remove controls from the youtube iframe.

https://developers.google.com/youtube/player_parameters?hl=fr

Component Events

eventdescription
readyfires when the player is ready and the player's instance can be used
errorfires when the player encounters an error https://developers.google.com/youtube/iframe_api_reference?hl=fr#Events
unstartedfires when player ready but not started because no video
playingfires when player starts playing
pausedfires when player stops playing and is on pause
cuedfires when a video was added to the player's queue but hasn't played yet
bufferingfires when player starts buffering / loading
endedfires when player video has ended

Component Methods

You can access these methods by adding a ref on the component.

methoddescriptionparams
loadByIdprogramatically loads a new video on the player by IDid: String, options: Object
loadByUrlprogramatically loads a new video on the player by URLurl: String, options: Object

Youtube Player instance

You can access the youtube player's instance by adding a ref on the component. You need to wait for the player to be ready though. When the player is not ready, the property holding the instance is null.

Full list of the instance's methods you can use below: https://developers.google.com/youtube/iframe_api_reference?hl=fr#Playback_controls

<vytia-player ytid="some youtube id" ref="yt" @ready="onPlayerReady"></vytia-player>
new Vue({
  methods: {
    onPlayerReady () {
      // you have access to the ref here
      this.$refs.yt.player.seekTo( ... )

      // you can see the full list of methods available here
      // https://developers.google.com/youtube/iframe_api_reference?hl=fr#Playback_controls
    }
  }
})

Make sure to check out the demo to see how to control the player.

The demo works with parcel-bundler.

Install it by doing npm install -g parcel-bundler or yarn global add parcel-bundler.

FAQs

Last updated on 04 Jul 2022

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc