您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds "Rate on OMDB" button on osu! beatmap pages
// ==UserScript== // @name OMDB Button Adder // @namespace omdbButtonAdder // @version 1.06 // @author cyndifusic // @run-at document-start // @description Adds "Rate on OMDB" button on osu! beatmap pages // @include http://osu.ppy.sh* // @include https://osu.ppy.sh* // ==/UserScript== var currentURL = window.location.href; var extractMapsetID = function (url) { var startIndex = url.indexOf("beatmapsets") + 12; var go = true; var i = startIndex; var setID = ""; while (go) { if (url.charAt(i) == "#") { go = false; } else { setID += url.charAt(i); i++; } } return setID; } var addButton = function () { if (currentURL.includes("beatmapsets") && currentURL.includes("#")) { var omdbAddress = "https://omdb.nyahh.net/mapset/" + extractMapsetID(currentURL); var buttonsDiv = document.getElementsByClassName("beatmapset-header__buttons")[0]; buttonsDiv.insertAdjacentHTML('beforeend', '<a class="btn-osu-big btn-osu-big--beatmapset-header" href="' + omdbAddress + '" data-turbolinks="false" target="_blank"><span class="btn-osu-big__content"><span class="btn-osu-big__left"><span class="btn-osu-big__text-top">Rate on OMDB</span></span><span class="btn-osu-big__icon"><span class="fa fa-fw"><span class="fas fa-link"></span></span></span></span></a>'); } } var checkURL = function () { var doubleCheck = function () { if (window.location.href != currentURL) { var currentURLIsBeatmap = window.location.href.includes("beatmapsets") && window.location.href.includes("#"); var previousURLIsBeatmap = currentURL.includes("beatmapsets") && currentURL.includes("#"); if (currentURLIsBeatmap && previousURLIsBeatmap) { if (extractMapsetID(window.location.href) != extractMapsetID(currentURL)) { currentURL = window.location.href; addButton(); } } if (currentURLIsBeatmap && !previousURLIsBeatmap) { currentURL = window.location.href; addButton(); } } } setTimeout(doubleCheck, 2000); } setTimeout(addButton, 1000); document.addEventListener("click", checkURL);