summaryrefslogtreecommitdiffstats
path: root/assets
diff options
context:
space:
mode:
authorSamantaz Fox <coding@samantaz.fr>2023-09-16 00:41:39 +0200
committerSamantaz Fox <coding@samantaz.fr>2023-09-16 00:41:46 +0200
commit06b2a4ba9d8f480543c950059259da9b12e053ff (patch)
tree67e76a23f16bc763ec32997dd099fc6f0d8ff04b /assets
parent58f4a012b7fde782a83d6745f18c5d080f7ade6a (diff)
downloadinvidious-06b2a4ba9d8f480543c950059259da9b12e053ff.tar.gz
invidious-06b2a4ba9d8f480543c950059259da9b12e053ff.tar.bz2
invidious-06b2a4ba9d8f480543c950059259da9b12e053ff.zip
Frontend: Use 'timeupdate' event listener rather than setTimeout()
Diffstat (limited to 'assets')
-rw-r--r--assets/js/player.js19
1 files changed, 9 insertions, 10 deletions
diff --git a/assets/js/player.js b/assets/js/player.js
index bffc7ad3..8eae54f4 100644
--- a/assets/js/player.js
+++ b/assets/js/player.js
@@ -113,9 +113,12 @@ function addCurrentTimeToURL(url) {
}
/**
- * Timer that updates the timestamp on all external links
+ * Callback that updates the timestamp on all external links
*/
-player.ready(function () {
+player.on('timeupdate', function () {
+ // Only update once every 5 seconds
+ if ((Math.ceil(player.currentTime()) % 5) != 0) return;
+
// YouTube links
let elem_yt_watch = document.getElementById('link-yt-watch');
@@ -124,10 +127,8 @@ player.ready(function () {
let base_url_yt_watch = elem_yt_watch.getAttribute('data-base-url');
let base_url_yt_embed = elem_yt_embed.getAttribute('data-base-url');
- setTimeout(() => {
- elem_yt_watch.setAttribute('href') = addCurrentTimeToURL(base_url_yt_watch);
- elem_yt_embed.setAttribute('href') = addCurrentTimeToURL(base_url_yt_embed);
- }, 5000);
+ elem_yt_watch.setAttribute('href') = addCurrentTimeToURL(base_url_yt_watch);
+ elem_yt_embed.setAttribute('href') = addCurrentTimeToURL(base_url_yt_embed);
// Invidious links
@@ -137,10 +138,8 @@ player.ready(function () {
let base_url_iv_embed = elem_iv_embed.getAttribute('data-base-url');
let base_url_iv_other = elem_iv_other.getAttribute('data-base-url');
- setTimeout(() => {
- elem_iv_embed.setAttribute('href') = addCurrentTimeToURL(base_url_iv_embed);
- elem_iv_other.setAttribute('href') = addCurrentTimeToURL(base_url_iv_other);
- }, 5000);
+ elem_iv_embed.setAttribute('href') = addCurrentTimeToURL(base_url_iv_embed);
+ elem_iv_other.setAttribute('href') = addCurrentTimeToURL(base_url_iv_other);
});