您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Add a checkbox to Goodreads list pages that allows you to hide books that belong to series
// ==UserScript== // @name Goodreads, show only the standalones in lists // @version 0.2 // @description Add a checkbox to Goodreads list pages that allows you to hide books that belong to series // @author anothershm // @match *://*.goodreads.com/review/list/* // @grant GM_setValue // @grant GM_getValue // @license MIT // @namespace https://greasyfork.org/users/1206936 // ==/UserScript== (function() { 'use strict'; const createCheckbox = () => { var newDiv = document.createElement('div'); newDiv.innerHTML = '<input type="checkbox" id="showCore" name="showcb"> <label for="showCore">Show only standalones</label>'; newDiv.style.display = 'inline'; newDiv.style.paddingLeft = '10px'; return newDiv; }; function showStandalone(show) { var allBooks = Array.from(document.querySelectorAll('.bookalike')); if (!show) { allBooks.forEach((el) => { el.hidden = false; }); } else { var booksFromSeries = allBooks.filter((el) => { const pattern = /\(.*#(\d+)\)/; // Regular expression to match text with "#number" pattern return el.querySelector('.title').innerHTML.match(pattern) }); if (booksFromSeries.length !== allBooks.length) { booksFromSeries.forEach((el) => { el.hidden = true; }); } } } const init = () => { const newDiv = createCheckbox(); document.querySelector('#controls').appendChild(newDiv); var cb = newDiv.firstChild; cb.checked = GM_getValue('gr_showStandalone', false); showStandalone(cb.checked); cb.addEventListener('change', (evt) => { showStandalone(cb.checked); GM_setValue('gr_showStandalone', cb.checked); }); }; init(); })();