Youtube URL Timestamper

Updates the browser URL with the current timestamp every 30 seconds

Version vom 04.07.2025. Aktuellste Version

// ==UserScript==
// @name         Youtube URL Timestamper
// @description  Updates the browser URL with the current timestamp every 30 seconds
// @namespace    antoniszymanski
// @author       Antoni Szymański
// @version      1.0.0
// @license      MPL-2.0
// @match        *://www.youtube.com/watch*
// ==/UserScript==
(() => {
    "use strict";
    function formatTime(seconds) {
        const hours = Math.trunc(seconds / 3600);
        seconds -= hours * 3600;
        const minutes = Math.trunc(seconds / 60);
        seconds -= minutes * 60;
        return ((hours > 0 ? hours + "h" : "") +
            (minutes > 0 ? minutes + "m" : "") +
            (seconds > 0 ? seconds + "s" : ""));
    }
    function update() {
        const player = document.querySelector("video");
        if (player === null) {
            return;
        }
        if (player.currentTime < 120) {
            return;
        }
        else if (isFinite(player.duration) && player.duration - player.currentTime < 120) {
            return;
        }
        const formattedTime = formatTime(player.currentTime);
        const url = new URL(window.location.href);
        if (url.searchParams.get("t") !== formattedTime) {
            url.searchParams.set("t", formattedTime);
            window.history.replaceState(null, "", url);
        }
    }
    setInterval(update, 30000); // 30s
})();