blob: b2efcef5fb7704dd8947a8f925ea57e27e729c94 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
// ==UserScript==
// @name YouTube auto-timestamper
// @namespace Violentmonkey Scripts
// @match *://www.youtube.com/*
// @grant none
// @version 1.0
// @author -
// @description 12/17/2025, 5:12:31 PM
// ==/UserScript==
// interval in ms
const interval = 1000;
// start delay in ms
const startDelay = 10000;
// substracted time in seconds
const timeDelay = 0;
const timeRegex = /(([&?])t=[0-9]+)/
let lastTime = undefined;
const tick = () => {
const ytplayer = document.getElementById("movie_player");
if (!ytplayer) {
return
}
let time = ytplayer.getCurrentTime();
time = Math.floor(time)
time -= timeDelay
if (time <= 0) {
return
}
let currentUrl = window.location.href
if (currentUrl.includes("t=")) {
const match = currentUrl.match(timeRegex, "t=")
currentUrl = currentUrl.replace(timeRegex, match[2] + "t=" + time)
} else {
currentUrl = currentUrl + "&t=" + time
}
if (time == lastTime) {
return
}
lastTime = time
history.replaceState(currentUrl, "", currentUrl)
}
const script =
setTimeout(() => {
setInterval(tick, interval)
console.debug("autotimestamper initialized")
}, startDelay)
|