From e6488bfcd483ee22cdfe0c58644aa7f0eb8bd343 Mon Sep 17 00:00:00 2001 From: Ernie Park Date: Thu, 5 Jan 2012 14:46:45 -0500 Subject: [PATCH] update videoDestroy function to remove intervals since removeeventlistener doesn't exist, still needs to be called though --- js/video_player.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/js/video_player.js b/js/video_player.js index 568132a58a..f91bc68482 100644 --- a/js/video_player.js +++ b/js/video_player.js @@ -47,6 +47,9 @@ var load_id = 0; var video_speed = 1.0; +var updateytPlayerInterval; +var ajax_videoInterval; + function change_video_speed(speed, youtube_id) { new_position = ytplayer.getCurrentTime() * video_speed / speed; video_speed = speed; @@ -141,8 +144,8 @@ var ajax_video=function(){}; function onYouTubePlayerReady(playerId) { ytplayer = document.getElementById("myytplayer"); - setInterval(updateytplayerInfo, 500); - setInterval(ajax_video,5000); + updateytplayerInfoInterval = setInterval(updateytplayerInfo, 500); + ajax_videoInterval = setInterval(ajax_video,5000); ytplayer.addEventListener("onStateChange", "onytplayerStateChange"); ytplayer.addEventListener("onError", "onPlayerError"); if((typeof load_id != "undefined") && (load_id != 0)) { @@ -152,11 +155,11 @@ function onYouTubePlayerReady(playerId) { } +// clear pings to video status when we switch to a different sequence tab with ajax function videoDestroy() { load_id = 0; - // TODO/BUG: Figure out why removeEventListener doesn't work - ytplayer.removeEventListener("onStateChange", "onytplayerStateChange"); - ytplayer.removeEventListener("onError", "onPlayerError"); + clearInterval(updateytplayerInfoInterval); + clearInterval(ajax_videoInterval); ytplayer = false; }