您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Add purple bold font style for all names of beatmap nominators in osu! website
当前为
// ==UserScript== // @name osu! Highlight For BN Names // @namespace https://osu.ppy.sh/u/376831 // @include *osu.ppy.sh/g/28* // @include *osu.ppy.sh/forum/ucp.php* // @include *osu.ppy.sh/forum/60* // @include *osu.ppy.sh/u/* // @include *osu.ppy.sh/forum/t* // @version 1.3.2 // @description Add purple bold font style for all names of beatmap nominators in osu! website // @grant none // ==/UserScript== var bnColor = '#8040FF'; var bnFriendColor = '#FF00FF'; var cookiesSaveDays = 7; addLoadEvent(loadEvent); function loadEvent() { var title = document.title; var url = document.URL; switch (title) { case 'osu! - Beatmap Nomination Group': var bnNumber = getBnNumber('User'); removeBnList(bnNumber, 'User'); addBnList(); var friends = getBnList('Friend'); var bnElements = getElements('username'); addFriendSighToBn(bnElements, friends); break; case 'Front page': var friends = getChilds(getElements('profile_friend ')); var bnList = getBnList('User'); var bnNumber = getBnNumber('Friend'); removeBnList(bnNumber, 'Friend'); addCookie('bnFriendNumber', addStyleToBn(friends, bnList, true, false, true, 0)); break; case 'Modding Queues': case 'View messages': var posters = getChilds(getElements('topicauthor')); var bnList = getBnList('User'); addStyleToBn(posters, bnList, true, false, false, 0); break; } if (url.indexOf('osu.ppy.sh/u/') != - 1) { var userName = document.getElementsByClassName('profile-username'); var bnList = getBnList('User'); addStyleToBn(userName, bnList, false, false, false, 0); } if (url.indexOf('osu.ppy.sh/forum/t') != - 1) { var posters = document.getElementsByClassName('postauthor'); var bnList = getBnList('User'); addStyleToBn(posters, bnList, false, true, false, 0); } } function getElements(name) { return document.getElementsByClassName(name); } function getChilds(elements) { var childs = new Array(); for (var i = 0; i < elements.length; i++) { childs[i] = elements[i].firstChild; } return childs; } function isElementBn(element, bnList) { for (var i = 0; i < bnList.length; i++) { if (element.innerHTML.trim() == bnList[i]) { return true; } } return false; } function addStyleToElement(element, isBold, isInThread) { element.style['color'] = bnColor; if (isBold) { element.style['font-weight'] = 'bold'; } if (isInThread) { element.parentNode.parentNode.parentNode.parentNode.parentNode.style['border-top'] = 'solid 3px #FFCA22'; } } function addStyleToBn(elements, bnList, isBold, isInThread, isAddFriend, bnFriendNumber) { for (var i = 0; i < elements.length; i++) { if (isElementBn(elements[i], bnList)) { addStyleToElement(elements[i], isBold, isInThread); if (isAddFriend) { if (bnFriendNumber == 0) { addCookie('bnFriendNames', elements[i].innerHTML); } else { addCookie('bnFriendNames', getCookie('bnFriendNames') + ',' + elements[i].innerHTML); } bnFriendNumber++; } } } return bnFriendNumber; } function addFriendSighToBn(elements, friendsBnList) { for (var i = 0; i < elements.length; i++) { if (isElementBn(elements[i], friendsBnList)) { elements[i].style['color'] = bnFriendColor; } } } function getBnNumber(nameType) { var bnNumber = parseInt(getCookie('bn' + nameType + 'Number')); if (isNaN(bnNumber)) { bnNumber = 150; } return bnNumber; } function removeBnList(bnNumber, nameType) { removeCookie('bn' + nameType + 'Names'); removeCookie('bn' + nameType + 'Number'); } function addBnList() { var userNames = getElements('username'); addCookie('bnUserNumber', userNames.length); addCookie('bnUserNames', userNames[0].innerHTML); for (var i = 1; i < userNames.length; i++) { addCookie('bnUserNames', getCookie('bnUserNames') + ',' + userNames[i].innerHTML); } } function getBnList(nameType) { return getCookie('bn' + nameType + 'Names').split(','); } function addCookie(name, value) { var exp = new Date(); exp.setTime(exp.getTime() + cookiesSaveDays * 24 * 60 * 60 * 1000); document.cookie = name + '=' + value + ';expires=' + exp.toGMTString() + ';path=/'; } function removeCookie(name) { document.cookie = name + '=;expires=' + (new Date(0)).toGMTString() + ';path=/'; } function getCookie(name) { var arr, reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); if (arr = document.cookie.match(reg)) { return unescape(arr[2]); } else { return null; } } function trim(str) { str = str.replace(/^(\s|\u00A0)+/, ''); for (var i = str.length - 1; i >= 0; i--) { if (/\S/.test(str.charAt(i))) { str = str.substring(0, i + 1); break; } } return str; } function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function () { oldonload(); func(); } } }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址