To continue using YouTube iframe, you only need to change ?autoplay=1 to ?autoplay=0 .
Another way to achieve this would be to use the YouTube JavaScript Player API. ( https://developers.google.com/youtube/js_api_reference )
Edit: The YouTube JavaScript API Player is no longer supported.
<div id="howToVideo"></div> <script type="application/javascript"> var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = false; ga.src = 'http://www.youtube.com/player_api'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); var done = false; var player; function onYouTubePlayerAPIReady() { player = new YT.Player('howToVideo', { height: '390', width: '640', videoId: 'qUJYqhKZrwA', playerVars: { controls: 0, disablekb: 1 }, events: { 'onReady': onPlayerReady, 'onStateChange': onPlayerStateChange } }); } function onPlayerReady(evt) { console.log('onPlayerReady', evt); } function onPlayerStateChange(evt) { console.log('onPlayerStateChange', evt); if (evt.data == YT.PlayerState.PLAYING && !done) { setTimeout(stopVideo, 6000); done = true; } } function stopVideo() { console.log('stopVideo'); player.stopVideo(); } </script>
Here is a jsfiddle example for an example: http://jsfiddle.net/fgkrj/
Please note that player controls are disabled in the playerVars section of the player. One sacrifice you make is that users can still pause the video by clicking on it. I would suggest writing a simple javascript function that subscribes to a stop event and calls player.playVideo() .
Jonn Jan 6 2018-12-14T00: 00Z
source share