Displays players grouped by age in other teams' player pages
当前为
// ==UserScript==
// @name MZ - Players Grouped by Age in Other Teams' Player Pages
// @namespace douglaskampl
// @version 1.2
// @description Displays players grouped by age in other teams' player pages
// @author Douglas
// @match https://www.managerzone.com/?p=players&tid=*
// @icon https://www.google.com/s2/favicons?sz=64&domain=managerzone.com
// @grant GM_addStyle
// @license MIT
// ==/UserScript==
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;
}
`);
(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);
}
})();