您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds a button to load (unroll) all "hidden items" (comments).
// ==UserScript== // @name Git Hub - Unroll comments // @description Adds a button to load (unroll) all "hidden items" (comments). // @author monnef // @version 1 // @match https://github.com/** // @grant none // @namespace monnef.eu // @require https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js // ==/UserScript== // settings const workTime = 500; const initDelay = 1000; const scrollingEnabled = true; const debugLogs = false; // end of settings const logPrefix = '[GHUC] '; const log = (...xs) => console.log(logPrefix, ...xs); const debug = (...xs) => debugLogs && console.debug(logPrefix, ...xs); const scrollTo = (_, e) => scrollingEnabled && e.scrollIntoView({behavior: 'smooth', block: 'center'}); const getPagForm = () => $('.ajax-pagination-form'); const getPagBut = () => $('.ajax-pagination-btn'); const clickLoadMore = () => { debug('click load more button'); getPagBut().click(); }; const work = () => { if(getPagForm()[0]) { const but = getPagBut(); if (but.text().includes("Loading")) { debug("waiting until comments loading finishes..."); but.each(scrollTo); } else { clickLoadMore(); } setTimeout(work, workTime); } else { debug('pagination form not found, assuming all comments are unrolled'); $('.js-timeline-item').last().each(scrollTo); } }; const init = () => { log('Git Hub - Unroll Comments by monnef is starting...') const but = $('<button/>') .text('Load all 🧻') .attr('title', '[GHUC] Git Hub - Unroll comments by monnef') .attr('class', 'btn mt-2') .click(() => { but.remove(); work(); }); getPagForm().append(but); debug('initialized'); }; $(() => setTimeout(init, initDelay));