您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Sort the bookshelves on users' profiles alphabetically.
// ==UserScript== // @name Goodreads - Sort bookshelves on profiles alphabetically // @version 1.1 // @author petracoding // @namespace petracoding // @grant none // @license MIT // @include https://www.goodreads.com/* // @include http://www.goodreads.com/* // @include https://goodreads.com/* // @include http://goodreads.com/* // @description Sort the bookshelves on users' profiles alphabetically. // ==/UserScript== const isProfile = document.querySelector("#profileNameTopHeading"); const wrapper = document.querySelector("#shelves"); if (wrapper && isProfile) { start(); } function start() { const linkEls = [...wrapper.querySelectorAll(".actionLinkLite")]; let output = ""; let itemsPerColumn = Math.ceil((linkEls.length + 1) / 4); console.log(itemsPerColumn); if (itemsPerColumn < 5) itemsPerColumn = 5; const linkElsSorted = linkEls.sort(compare); for (let i = 0; i < linkElsSorted.length; i++) { if (i == 0 || i % itemsPerColumn == 0) { if (i !== 0) { output += `</div>`; } output += `<div class="shelfContainer">`; } output += linkElsSorted[i].outerHTML + `<br>`; if (i == linkElsSorted.length - 1) { output += `</div>`; } } wrapper.innerHTML = output; } function compare( a, b ) { if ( a.getAttribute("href") < b.getAttribute("href") ){ return -1; } if ( a.getAttribute("href") > b.getAttribute("href") ){ return 1; } return 0; }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址