您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds a button that automatically scrolls the queue until disabled
// ==UserScript== // @name soundcloud scroll queue // @version 1.0.1 // @description Adds a button that automatically scrolls the queue until disabled // @author bhackel // @match https://soundcloud.com/* // @grant none // @run-at document-idle // @noframes // @namespace https://greasyfork.org/en/users/324178-bhackel // ==/UserScript== (function() { 'use strict'; /* Injects a button into the Next Up queue that runs the script. */ function setup() { var btn = document.createElement('Button'); btn.className = 'bhackelSCScroll sc-button sc-button-medium'; btn.innerHTML = 'Scroll Down'; btn.onclick = function(){ start(this); }; var queue_panel = document.getElementsByClassName('queue__panel')[0]; if (queue_panel) { queue_panel.insertBefore(btn, queue_panel.children[1]); } else { setTimeout(setup, 1000); } } /* Function called by the button being clicked. Either creates an interval to run the scroll function or clears the current interval. */ function start(d){ if (d.interval){ clearInterval(d.interval); d.interval = 0; d.innerHTML = 'Scroll Down'; } else { d.interval = setInterval(scroll, 1000); d.innerHTML = 'Stop Scrolling'; } } /* Scrolls the queue down to a pixel value, found in one of the heights of one of the elements. */ function scroll() { var scrollableQueue = document.getElementsByClassName('queue__scrollableInner g-scrollable-inner').item(0); var queueContainer = document.getElementsByClassName('queue__itemsHeight').item(0); var scrollToHeight = parseInt(queueContainer.style.height); scrollableQueue.scroll(0,scrollToHeight); } setup(); })();