ANSWERED: Turns out it's because I tested locally, doh!
I have the following code, pretty much taken directly from the API, but events do not fire. Any ideas? Thanks.
var tag = document.createElement('script'); tag.src = "http://www.youtube.com/player_api"; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); var player; function onYouTubePlayerAPIReady() { player = new YT.Player('player', { height: '250', width: '300', videoId: 'u1zgFlCw8Aw', events: { 'onReady': onPlayerReady, 'onStateChange': onPlayerStateChange } }); } function onPlayerReady(event) { alert("Ready"); event.target.playVideo(); } function onPlayerStateChange(event) { alert("State Changed"); }
source share