Removes the difficulty badge element on osu! pages
// ==UserScript==
// @name osu! - Remove difficulty badge
// @namespace https://osu.ppy.sh/
// @version 1.0
// @description Removes the difficulty badge element on osu! pages
// @author you
// @match https://osu.ppy.sh/*
// @grant none
// @run-at document-start
// ==/UserScript==
(function () {
'use strict';
const SELECTOR = '.difficulty-badge--beatmapset';
function removeTargets(root = document) {
const elements = root.querySelectorAll(SELECTOR);
elements.forEach(el => el.remove());
}
removeTargets();
const observer = new MutationObserver((mutations) => {
for (const mutation of mutations) {
if (mutation.addedNodes.length === 0) continue;
for (const node of mutation.addedNodes) {
if (node.nodeType !== 1) continue;
if (node.matches && node.matches(SELECTOR)) {
node.remove();
continue;
}
if (node.querySelectorAll) {
removeTargets(node);
}
}
}
});
function startObserving() {
observer.observe(document.documentElement, {
childList: true,
subtree: true,
});
}
if (document.documentElement) {
startObserving();
} else {
document.addEventListener('DOMContentLoaded', startObserving);
}
})();