From 7023d0287c7d9129969b67a5e2fdde717e7c13a4 Mon Sep 17 00:00:00 2001 From: Lomanic Date: Sat, 1 May 2021 03:00:48 +0200 Subject: [PATCH] Seek videos without reloading the page on clicked timestamps --- html/static/js/player.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/html/static/js/player.js b/html/static/js/player.js index 4b3ca6a..cd53293 100644 --- a/html/static/js/player.js +++ b/html/static/js/player.js @@ -1,8 +1,9 @@ -import {q, ElemJS} from "/static/js/elemjs/elemjs.js" +import {q, qa, ElemJS} from "/static/js/elemjs/elemjs.js" import {SubscribeButton} from "/static/js/subscribe.js" const video = q("#video") const audio = q("#audio") +const timestamps = qa("a[data-clickable-timestamp]") const videoFormats = new Map() const audioFormats = new Map() @@ -221,3 +222,9 @@ document.addEventListener("keydown", event => { }) new SubscribeButton(q("#subscribe")) + +Array.from(timestamps).forEach(el => el.addEventListener('click', event => { + event.preventDefault() + video.currentTime = event.target.getAttribute("data-clickable-timestamp") + window.history.replaceState({}, "", event.target.href) +}))