Count players by age on other teams' player pages
当前为
// ==UserScript==
// @name MZ - Opponent Age Counter
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Count players by age on other teams' player pages
// @author Douglas
// @match https://www.managerzone.com/?p=players&tid=*
// @grant GM_addStyle
// ==/UserScript==
(function() {
'use strict';
const ageCountMap = new Map();
document.querySelectorAll('#players_container .playerContainer').forEach(player => {
let ageElement = player.querySelector('td');
if (ageElement) {
let age = parseInt(ageElement.textContent.replace(/\D/g, '').trim());
if (ageCountMap.has(age)) {
ageCountMap.set(age, ageCountMap.get(age) + 1);
} else {
ageCountMap.set(age, 1);
}
}
});
const playerFiltersElement = document.querySelector('#player_filters');
if (playerFiltersElement) {
const table = document.createElement('table');
table.id = 'ageTable';
const thead = document.createElement('thead');
const tbody = document.createElement('tbody');
const headerRow = document.createElement('tr');
const ageHeader = document.createElement('th');
ageHeader.textContent = 'Age';
const countHeader = document.createElement('th');
countHeader.textContent = 'Count';
headerRow.appendChild(ageHeader);
headerRow.appendChild(countHeader);
thead.appendChild(headerRow);
table.appendChild(thead);
const tableEntries = Array.from(ageCountMap.entries());
tableEntries.sort((a, b) => a[0] - b[0]);
tableEntries.forEach(([age, count]) => {
const row = document.createElement('tr');
const ageCell = document.createElement('td');
ageCell.textContent = age;
const countCell = document.createElement('td');
countCell.textContent = count;
row.appendChild(ageCell);
row.appendChild(countCell);
tbody.appendChild(row);
});
table.appendChild(tbody);
playerFiltersElement.appendChild(table);
}
})();
GM_addStyle(`
#ageTable {
border-collapse: separate;
border-spacing: 0;
color: white;
width: 100px;
font-size: 11px;
display: inline-block;
vertical-align: top;
margin-left: 10px;
}
#ageTable th,
#ageTable td {
padding: 1px 4px;
color: white;
}
#ageTable thead tr {
background-color: #000080;
color: #FFFF00;
}
#ageTable tbody tr:nth-child(even) {
background-color: #000080;
}
#ageTable tbody tr:nth-child(odd) {
background-color: #FF1493;
}
#ageTable tbody tr:hover {
background-color: #00BFFF;
color: black;
}
#ageTable th, #ageTable td {
font-weight: normal;
border: 1px solid #1E90FF;
text-align: center;
}
#ageTable th {
border-top: 2px solid #00BFFF;
border-bottom: 2px solid #0000FF;
}
`);