更新:很反感看到莫些人的头像ID ?没问题
来油猴脚本修改ID头像到系统默认字母or中字头像
(function() {
'use strict';
// 首字母匹配颜色
const colorMap = {
A: 'A9C6C3', B: 'B0C4DE', C: 'C1A68B', D: 'D4A5A5', E: 'D3C4A1',
F: 'B6C1A9', G: 'C5AEB1', H: 'C4B3A9', I: 'A9B7C4', J: 'B8C3A1',
K: 'A9C1B7', L: 'C1B6A5', M: 'A1B6C3', N: 'C2A9A9', O: 'A9B8C1',
P: 'B3A9C1', Q: 'A9C1B8', R: 'B8A9C1', S: 'C1A9B8', T: 'A9B3C1',
U: 'C1B8A9', V: 'A9C1A5', W: 'B6A9C1', X: 'A1B8C1', Y: 'C1A9B3',
Z: 'B3C1A9'
};
function getColorForLetter(letter) {
return colorMap[letter.toUpperCase()] || 'A9A9A9';
}
function processAvatar(avatar) {
let bigUsername;
if (avatar.closest('div.post-infos')) {
bigUsername = avatar.getAttribute('title');
} else {
let userLink = avatar.closest('a.trigger-user-card, a');
if (userLink) {
bigUsername = userLink.getAttribute('href').split('/u/')[1];
}
}
if (bigUsername) {
const colorForLetter = getColorForLetter(bigUsername.charAt(0));
const newAvatarUrl = `https://www.uscardforum.com/letter_avatar_proxy/v4/letter/${bigUsername.charAt(0).toUpperCase()}/${colorForLetter}/248.png`;
avatar.src = newAvatarUrl;
avatar.srcset = newAvatarUrl;
}
}
function processAllAvatars() {
const avatars = document.querySelectorAll('div.post-avatar img.avatar, a.poster.trigger-user-card img.avatar, td.posters.topic-list-data img.avatar, div.post-infos a.reply-to-tab img.avatar');
avatars.forEach(processAvatar);
}
function initMutationObserver() {
const observer = new MutationObserver(mutations => {
mutations.forEach(mutation => {
mutation.addedNodes.forEach(node => {
if (node.nodeType === 1) {
const avatars = node.querySelectorAll('div.post-avatar img.avatar, a.poster.trigger-user-card img.avatar, td.posters.topic-list-data img.avatar, div.post-infos a.reply-to-tab img.avatar');
avatars.forEach(processAvatar);
}
});
});
});
observer.observe(document.body, { childList: true, subtree: true });
}
// 初始化
processAllAvatars();
initMutationObserver();
})();