".playVideo is not a function" when trying to play youtube video javascript

I'm trying to play a youtube video with javascript and the <iframe> tag. So far I'm getting this error: "document.getElementById(...).playVideo is not a function". Here's my code:

Javascript: document.getElementById("video").playVideo();

HTML: <iframe src="url"> </iframe>

1 Answer

Are you trying to autoplay the video ? In that case you will need to add ?autoplay=1 at the end of the youtube URL and add an allow attribute to your iframe tag like shown below

<iframe src="" allow='autoplay'></iframe> 

If you want to use javascript to control the videoplayer, I would recommend using the Youtube Player API. Sample code is as below (taken from youtube's documentation) -

<!DOCTYPE html> <html> <body> <!-- 1. The <iframe> (and video player) will replace this <div> tag. --> <div></div> <script> // 2. This code loads the IFrame Player API code asynchronously. var tag = document.createElement('script'); tag.src = ""; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); // 3. This function creates an <iframe> (and YouTube player) // after the API code downloads. var player; function onYouTubeIframeAPIReady() { player = new YT.Player('player', { height: '390', width: '640', videoId: 'M7lc1UVf-VE', events: { 'onReady': onPlayerReady, 'onStateChange': onPlayerStateChange } }); } // 4. The API will call this function when the video player is ready. function onPlayerReady(event) { event.target.playVideo(); } // 5. The API calls this function when the player's state changes. // The function indicates that when playing a video (state=1), // the player should play for six seconds and then stop. var done = false; function onPlayerStateChange(event) { if (event.data == YT.PlayerState.PLAYING && !done) { setTimeout(stopVideo, 6000); done = true; } } function stopVideo() { player.stopVideo(); } </script> </body> </html> 

If you want further detailed examples, it is very well-documented here -

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like