您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds useful buttons to scoresaber like onclick and beat saver.
// ==UserScript== // @name Scoresaber Buttons // @namespace tzurs11-scoresaber-buttons // @version 1.0 // @description Adds useful buttons to scoresaber like onclick and beat saver. // @author TzurS11 // @match *.scoresaber.com/leaderboard/* // @icon https://www.google.com/s2/favicons?sz=64&domain=scoresaber.com // @license MIT // ==/UserScript== function waitForElm(selector) { return new Promise((resolve) => { if (document.querySelector(selector)) { return resolve(document.querySelector(selector)); } const observer = new MutationObserver((mutations) => { if (document.querySelector(selector)) { resolve(document.querySelector(selector)); observer.disconnect(); } }); observer.observe(document.body, { childList: true, subtree: true, }); }); } (function () { waitForElm( "#svelte > div.root > div.page-container.content > div > div > div > div.column.is-4 > div.card.map-card.svelte-aoq06a > div.window.card-content > div.content.svelte-aoq06a > strong" ).then(async () => { let hash = await document .getElementsByClassName("text-muted svelte-aoq06a")[0] .innerText.trim(); fetch(`https://api.beatsaver.com/maps/hash/${hash}`) .then((res) => res.json()) .then(async (json) => { console.log(json) setInterval(async () => { document.getElementsByClassName( "text-muted svelte-aoq06a" )[0].innerText = ""; const boxes = await document.getElementsByClassName( "content svelte-aoq06a" ); const child = document.createElement("div"); child.innerHTML = `<a href="https://beatsaver.com/maps/${json.id}" class="addonLinks"><strong>Beat Saver</strong> </a> <a href="beatsaver://${json.id}" class="addonLinks"><strong>One-Click</strong></a> <a class="addonLinks" onclick="navigator.clipboard.writeText(\`!bsr ${json.id}\`)"><strong>!bsr</strong></a>`; await boxes[0].appendChild(child); let something = document.querySelector("#svelte > div.root > div.page-container.content > div > div > div > div.column.is-4 > div.card.map-card.svelte-aoq06a > div.window.card-content > div.content.svelte-aoq06a > div:nth-child(12)") something.remove() },300) }); }); })();