您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Replaces 'Mark All Read' with a direct 'Mark Current Page Read' button and hides unnecessary elements.
// ==UserScript== // @name BGG Simplify Mark Read Button // @namespace https://github.com/kofaysi/bgg-userscripts/blob/main/bgg-simplify-mark-read-button.user.js // @version 1.5 // @description Replaces 'Mark All Read' with a direct 'Mark Current Page Read' button and hides unnecessary elements. // @author https://github.com/kofaysi/ // @match https://boardgamegeek.com/subscriptions* // @license MIT // @grant none // ==/UserScript== (function() { 'use strict'; function simplifyMarkReadButton() { // Find the 'Mark All Read' button by its content const buttons = document.querySelectorAll("button"); let markAllReadButton = null; buttons.forEach(button => { if (button.textContent.includes("Mark All Read")) { markAllReadButton = button; } }); if (!markAllReadButton) return; // Find its dropdown container const dropdownContainer = markAllReadButton.closest("div.dropdown"); if (!dropdownContainer) return; // Find the dropdown menu let dropdownMenu = dropdownContainer.querySelector(".dropdown-menu"); if (!dropdownMenu) return; // Find the 'Mark Current Page Read' button inside the dropdown let markCurrentPageButton = null; dropdownMenu.querySelectorAll("button").forEach(button => { if (button.textContent.includes("Mark Current Page Read")) { markCurrentPageButton = button; } }); if (!markCurrentPageButton) return; // Clone 'Mark Current Page Read' and replace the main button const newButton = markCurrentPageButton.cloneNode(true); newButton.onclick = () => markCurrentPageButton.click(); newButton.className = markAllReadButton.className.replace("dropdown-toggle", ""); // Remove dropdown-toggle class newButton.textContent = "Mark Current Page Read"; // Change button color newButton.style.setProperty("--bs-btn-bg", "#005bca"); newButton.style.setProperty("--bs-btn-hover-bg", "#004a9f"); newButton.style.setProperty("--bs-btn-border-color", "#005bca"); newButton.style.setProperty("--bs-btn-hover-border-color", "#004a9f"); newButton.style.setProperty("--bs-btn-active-border-color", "#004a9f"); newButton.style.setProperty("--bs-btn-active-color", "#004a9f"); // Replace 'Mark All Read' button with new one markAllReadButton.replaceWith(newButton); // Hide the dropdown menu dropdownMenu.style.display = "none"; } // Use MutationObserver to wait for dynamically loaded content function observePage() { const observer = new MutationObserver(() => { simplifyMarkReadButton(); }); observer.observe(document.body, { childList: true, subtree: true }); } window.addEventListener('load', () => { setTimeout(simplifyMarkReadButton, 2000); // Delay execution to ensure elements are fully loaded observePage(); }); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址