您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Periodically records the current playing time while you watch videos, so you don't lose track of where you were watching.
// ==UserScript== // @name Youtube position saver // @version 2.0.0 // @namespace http://www.agj.cl/ // @description Periodically records the current playing time while you watch videos, so you don't lose track of where you were watching. // @license Unlicense // @match *://*.youtube.com/* // @grant none // ==/UserScript== // Configuration const saveIntervalSeconds = 10; const previewSeconds = 5; // Utilities const onLoad = (cb) => /interactive|complete/.test(document.readyState) ? setTimeout(cb, 0) : document.addEventListener("DOMContentLoaded", cb, { once: true }); const getVideo = () => document.querySelector("video.html5-main-video"); const getTimeToSave = (seconds) => Math.max(0, Math.floor(seconds - previewSeconds)); // Position saving onLoad(() => { let video; const saveTime = () => { if (!video || !video.document) { video = getVideo(); if (!video) return; video.addEventListener("seeked", saveTime); } const seconds = video.currentTime; const url = new URL(location); url.searchParams.set("t", getTimeToSave(seconds).toString() + "s"); history.replaceState(history.state, document.title, url.toString()); }; setInterval(saveTime, saveIntervalSeconds * 1000); });