您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Automatically scrolls through Shorts when a video ends!!! You should use ViolentMonkey because Tampermonkey requires enabling developer mode!!!
- // ==UserScript==
- // @name Auto Youtube Shorts Scroller
- // @namespace http://tampermonkey.net/
- // @version 1.2
- // @description Automatically scrolls through Shorts when a video ends!!! You should use ViolentMonkey because Tampermonkey requires enabling developer mode!!!
- // @author hiensumi
- // @match *://www.youtube.com/*
- // @grant none
- // @license MIT
- // ==/UserScript==
- (function () {
- 'use strict';
- let pollingInterval = null;
- let lastUrl = 'nothing';
- let enabled = false;
- function log(...args) {
- console.log('[AutoShorts]', ...args);
- }
- function scrollToNextShort() {
- if (!enabled) return;
- const buttons = document.querySelectorAll('.yt-spec-button-shape-next');
- for (const btn of buttons) {
- const svg = btn.querySelector('svg path');
- if (!svg) continue;
- const d = svg.getAttribute('d');
- if (d === 'M4.116 13.884a1.25 1.25 0 011.768-1.768l4.866 4.866V4a1.25 1.25 0 112.5 0v12.982l4.866-4.866a1.25 1.25 0 011.768 1.768L12 21.768l-7.884-7.884Z') {
- btn.click();
- log('Scrolled to next short');
- break;
- }
- }
- }
- function activateShortsScript() {
- enabled = true;
- if (pollingInterval) clearInterval(pollingInterval);
- log('Activated for Shorts page');
- let scrolled = false;
- pollingInterval = setInterval(() => {
- // console.log(enabled);
- if(!enabled) return;
- let vids = document.querySelectorAll('video');
- if(window.location.href.includes('short') == true && vids.length){
- let vid = Array.from(vids).find(v => v.duration);
- //log(vid.duration - vid.currentTime);
- if (vid.duration > 2.0 && (vid.duration - vid.currentTime <= 1)) {
- if (!scrolled) {
- log('Video ends, scrolling');
- scrolled = true;
- setTimeout(() => {
- scrollToNextShort();
- }, 2000);
- }
- } else {
- scrolled = false;
- }
- }
- else{
- enabled = false;
- setTimeout(() => {
- log('False activation');
- }, 1000);
- return;
- }
- }, 500);
- }
- function deactivateShortsScript() {
- enabled = false;
- if (pollingInterval) {
- clearInterval(pollingInterval);
- pollingInterval = null;
- log('Deactivated (not on Shorts page)');
- }
- }
- navigation.addEventListener("navigate", e => {
- setTimeout(() => {
- log('Navigation: ' + window.location.href);
- if(window.location.href.includes('short')){
- deactivateShortsScript();
- setTimeout(() => {
- activateShortsScript();
- }, 1000);
- }
- else{
- deactivateShortsScript();
- }
- }, 3000);
- });
- })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址