diff --git a/content.js b/content.js index 0a181560..33ffbfa8 100644 --- a/content.js +++ b/content.js @@ -16,6 +16,8 @@ var youtubeVideoStartTime = null; //the video var v; +var listenerAdded; + //the channel this video is about var channelURL; @@ -241,6 +243,9 @@ function videoIDChange(id) { sponsorVideoID = id; sponsorLookupRetries = 0; + //empty the preview bar + previewBar.set([], [], 0); + //see if there is a video start time youtubeVideoStartTime = getYouTubeVideoStartTime(document.URL); @@ -320,7 +325,14 @@ function sponsorsLookup(id) { //update the preview bar //leave the type blank for now until categories are added - previewBar.set(sponsorTimes, [], v.duration); + console.log(v.duration) + if (isNaN(v.duration)) { + //wait until it is loaded + v.addEventListener('durationchange', updatePreviewBar); + } else { + //set it now + updatePreviewBar(); + } getChannelID(); @@ -356,6 +368,13 @@ function sponsorsLookup(id) { }; } +function updatePreviewBar() { + previewBar.set(sponsorTimes, [], v.duration); + + //the listener is only needed once + v.removeEventListener('durationchange', updatePreviewBar); +} + function getChannelID() { //get channel id let channelContainers = document.querySelectorAll("#owner-name");