Updates the url so that it contains "?t={time}" corresponding to video.currentTime. Sometimes Youtube opens a video with a t parameter, but it doesn't get updated and when you refresh you go back to that time instead of where you left off.
当前为
// ==UserScript==
// @name Youtube Resumer
// @description Updates the url so that it contains "?t={time}" corresponding to video.currentTime. Sometimes Youtube opens a video with a t parameter, but it doesn't get updated and when you refresh you go back to that time instead of where you left off.
// @version 1
// @match https://www.youtube.com/watch?*
// @grant none
// @namespace https://greasyfork.org/users/206408
// ==/UserScript==
(async () => {
function l(message){
console.log(`[Youtube Resumer] ${message}`)
}
l('starting')
const video = document.querySelector('video');
video.addEventListener('timeupdate', (event) => {
l(`duration changed: ${video.currentTime}`)
const time = parseInt(video.currentTime)
const url = new URL(window.location.href)
url.searchParams.set('t', time)
window.history.replaceState(null, null, url);
})
})();