您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Auto likes a video after watching it, the goal being to keep track of watched videos since youtube history is limited
当前为
// ==UserScript== // @name Youtube - Auto Like // @namespace http://tampermonkey.net/ // @version 0.1 // @description Auto likes a video after watching it, the goal being to keep track of watched videos since youtube history is limited // @author You // @match https://www.youtube.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=youtube.com // @grant none // @license MIT // ==/UserScript== function l(...args){ console.log('[Auto Like]', ...args) } function getLikeButton(){ return document.querySelector('#segmented-like-button button') } function isLiked(){ return getLikeButton().ariaPressed === 'true' } function like(){ getLikeButton().click() } let ontimeupdate function listen(){ //Remove previous event listener since the video element is never destroyed if(ontimeupdate) video.removeEventListener('timeupdate', ontimeupdate) let video = document.querySelector('video') let watched = false ontimeupdate = () => { if(!watched){ if(video.currentTime/video.duration > 0.95){ watched = true like() } } } video.addEventListener('timeupdate', ontimeupdate) } let lastPage const observer = new MutationObserver((mutationsList, observer) => { if(document.URL.includes('/watch')){ //do something once per page if(lastPage !== document.URL){ //keep trying to find the like button (page is loading) if(getLikeButton()){ if(!isLiked()){ listen() } lastPage = document.URL } } } }) observer.observe(document, {childList:true, subtree:true})