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 2
// @match https://www.youtube.com/*
// @grant none
// @namespace https://greasyfork.org/users/206408
// ==/UserScript==
(async () => {
function l(message){
console.log(`[Youtube Resumer] ${message}`)
}
function tryListen(){
const video = document.querySelector('video');
if(video){
video.addEventListener('timeupdate', (event) => {
const time = parseInt(video.currentTime)
const url = new URL(window.location.href)
url.searchParams.set('t', time)
window.history.replaceState(null, null, url);
})
}
}
l('starting')
document.addEventListener("yt-navigate-finish", function() {
l('navigate-finish')
tryListen()
});
})();