I'm trying to detect when a YouTube video ends but the code below just doesn't work.
This is my code:
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
function onYouTubeIframeAPIReady() {
  // first video
  player = new YT.Player('player', {
    height: '270',
    width: '480',
    videoId: 'UDxzMcCrOyI',
    events: {
      'onStateChange': onPlayerStateChange
    }
  });
}
function onPlayerStateChange(event) {
  if (event.data == YT.PlayerState.ENDED) {
    alert('player stopped');
  }
}<iframe id="player" width="480" height="270" src="https://www.youtube.com/embed/UDxzMcCrOyI?enablejsapi=1" frameborder="0" allowfullscreen /> 
    