您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Сортировка Клана по очкам ивента
// ==UserScript== // @name sortClanIvent // @namespace http://tampermonkey.net/ // @version 0.3 // @description Сортировка Клана по очкам ивента // @author Яшка // @match https://www.heroeswm.ru/clan_info.php?id=* // @match https://www.lordswm.com/clan_info.php?id=* // @include https://www.heroeswm.ru/clan_info.php?id=* // @grant none // @license Яшка // ==/UserScript== (async function () { 'use strict'; let allTableArr = document.querySelectorAll(".wb"); const tableUserInClan = allTableArr[allTableArr.length - 1] let allTrArr = allTableArr[allTableArr.length - 1].querySelectorAll("tr"); let clanUserArr = [] let clanUserStartArr = [] const regexScore = /,/i; const ids = { sortDiv: 'sortMinUserClanScoreHwmHelper', sortMax: 'sortMaxUserClanScoreHwmHelper', sortMin: 'sortMinUserClanScoreHwmHelper', sortStart: 'sortStartUserClanScoreHwmHelper', } function createDiv(html, place, id, display) { const divHwmHelper = document.createElement("div"); divHwmHelper.id = id; divHwmHelper.style.display = display; switch (place) { case 'before': { html.before(divHwmHelper) break; } default: { break; } } return divHwmHelper; } function createBtn(html, place, text, id, func) { const btnHwmHelper = document.createElement("a"); btnHwmHelper.innerHTML = text; btnHwmHelper.id = id; btnHwmHelper.style.cursor = 'pointer'; btnHwmHelper.style.border = '1px solid black'; btnHwmHelper.style.margin = '5px'; btnHwmHelper.style.padding = '5px'; btnHwmHelper.style.display = 'flex'; btnHwmHelper.style.width = 'fit-content'; switch (place) { case 'before': { html.before(btnHwmHelper) break; } case 'in': { html.appendChild(btnHwmHelper) } default: { break; } } btnHwmHelper.addEventListener("click", () => { console.log(1) func() }) return; } function SortMaxScore(a, b) { return b.score - a.score; } function SortMinScore(a, b) { return a.score - b.score; } function SortMaxClanUserScore() { allTrArr.forEach(td => { let html = td td.childNodes.forEach((el, index) => { if (index === 5) { let score = el.textContent.trim(); clanUserArr.push({ html, score: score !== '' ? JSON.parse(score.replace(regexScore, '')) : 0, }) } }) }) clanUserArr.sort(SortMaxScore) allTrArr.forEach(td => { td.remove() }) clanUserArr.forEach(el => { tableUserInClan.appendChild(el.html) }) } function SortMinClanUserScore() { allTrArr.forEach(td => { let html = td td.childNodes.forEach((el, index) => { if (index === 5) { let score = el.textContent.trim(); clanUserArr.push({ html, score: score !== '' ? JSON.parse(score.replace(regexScore, '')) : 0, }) } }) }) clanUserArr.sort(SortMinScore) allTrArr.forEach(td => { td.remove() }) clanUserArr.forEach(el => { tableUserInClan.appendChild(el.html) }) } function SortStartClanUserScore() { if (clanUserStartArr.length) { console.log('вошел') console.log(allTrArr) allTrArr.forEach(td => { td.remove() }) clanUserStartArr.forEach(el => { tableUserInClan.appendChild(el.html) }) } } function GetStartClanUser() { allTrArr.forEach(td => { let html = td td.childNodes.forEach((el, index) => { if (index === 5) { let score = el.textContent.trim(); clanUserStartArr.push({ html, score: score !== '' ? JSON.parse(score.replace(regexScore, '')) : 0, }) } }) }) } GetStartClanUser(); let divSort = createDiv(tableUserInClan, 'before', ids.sortDiv, 'flex') createBtn(divSort, 'in', 'Сортировка ↑', ids.sortMax, () => { SortMaxClanUserScore() }) createBtn(divSort, 'in', 'Сортировка ↓', ids.sortMin, () => { SortMinClanUserScore() }) createBtn(divSort, 'in', 'Сборс', ids.sortStart, () => { SortStartClanUserScore() }) })();