JS: Update external links exactly once per second

This commit is contained in:
Samantaz Fox 2023-10-21 13:45:15 +02:00
parent 47cc9dc169
commit 40919c6a83
No known key found for this signature in database
GPG key ID: F42821059186176E

View file

@ -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