From 40919c6a83c78b890b7974304110c10b30a3746a Mon Sep 17 00:00:00 2001 From: Samantaz Fox Date: Sat, 21 Oct 2023 13:45:15 +0200 Subject: [PATCH] JS: Update external links exactly once per second --- assets/js/player.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/assets/js/player.js b/assets/js/player.js index c34da9b5..16bb2752 100644 --- a/assets/js/player.js +++ b/assets/js/player.js @@ -114,12 +114,23 @@ function addCurrentTimeToURL(url, base) { return urlUsed; } +/** + * Global variable to save the last timestamp (in full seconds) at which the external + * links were updated by the 'timeupdate' callback below. + * + * It is initialized to 5s so that the video will always restart from the beginning + * if the user hasn't really started watching before switching to the other website. + */ +var timeupdate_last_ts = 5; + /** * Callback that updates the timestamp on all external links */ player.on('timeupdate', function () { - // Only update once every 5 seconds - if ((Math.ceil(player.currentTime()) % 5) != 0) return; + // Only update once every second + let current_ts = Math.floor(player.currentTime()); + if (current_ts > timeupdate_last_ts) timeupdate_last_ts = current_ts; + else return; // YouTube links