I have a page with an iframe which load a youtube video (the src of iframe is modified in runtime). I based on code by Rob W provided in different answers on this topic
onYouTubePlayerAPIReady
should be on the window
object.
try:
window.onYouTubePlayerAPIReady = function() {
alert('called onYouTubePlayerAPIReady');
ytIframeplayer = new YT.Player('browser', {
events: {
"onStateChange": stopCycle
}
});
}
It seems like you're not closing the functions off correctly.
The last }
is closing off onYouTubePlayerAPIReady()
, not dispose_ytplayer()
.
Fixed code:
function dispose_ytplayer() {
(function(){
var s = document.createElement("script");
s.src = "http://www.youtube.com/player_api";
var before = document.getElementsByTagName("script")[0];
before.parentNode.insertBefore(s, before);
})();
alert('called yt_dispose');
var ytIframeplayer;
function onYouTubePlayerAPIReady() {
alert('called onYouTubePlayerAPIReady');
ytIframeplayer = new YT.Player('browser', {
events: {
"onStateChange": stopCycle
}
});
}
}