您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Позволяет скрыть существ для обмена на странице Гильдии Лидеров
- // ==UserScript==
- // @name Hide GL updates
- // @author _Vesbat_
- // @namespace _Vesbat_
- // @description Позволяет скрыть существ для обмена на странице Гильдии Лидеров
- // @version 0.07
- // @include https://www.heroeswm.ru/leader_army_exchange.php*
- // @include https://www.lordswm.com/leader_army_exchange.php*
- // @grant GM_deleteValue
- // @grant GM_getValue
- // @grant GM_setValue
- // @license MIT
- // ==/UserScript==
- (function() {
- 'use strict';
- function isCellAvailableForExchange(cell){
- const elements = cell.getElementsByTagName('*');
- var result = false;
- var id = "";
- var isFirstRow = false;
- if (cell.textContent === "Суммарное лидерство" || cell.textContent === "Total leadership"){
- isFirstRow = true;
- }
- for (let i = 0; i < elements.length; i++) {
- const el = elements[i];
- if (el.value){
- id = id + el.value;
- }
- if (el.value && (el.value.includes("Обменять") || el.value.includes("Exchange"))) {
- result = true;
- break;
- }
- }
- return {
- result: result,
- id: id,
- isFirstRow: isFirstRow
- }
- }
- function isRowAvailableForExchange(row){
- console.log("!!! START")
- var result = false;
- var isFirstRow = false;
- var id = "";
- var cells = row.querySelectorAll('td');
- for (let i = 0; i < cells.length; i++){
- const cell = cells[i];
- id = id + cell.textContent
- const res = isCellAvailableForExchange(cell);
- if (res.result) {
- result = true
- id = id + res.id
- }
- isFirstRow = isFirstRow || res.isFirstRow
- }
- return {
- result: result,
- id: id,
- isFirstRow: isFirstRow
- }
- }
- function addUpdateForHideList(updateId){
- const rowsForHideOld = GM_getValue("rows_for_hide")
- rowsForHideOld.push(updateId);
- GM_setValue("rows_for_hide", rowsForHideOld);
- }
- var rowsForHideRaw = GM_getValue("rows_for_hide");
- if (rowsForHideRaw === undefined){
- console.log("rowsForHideRaw is undefined");
- GM_setValue("rows_for_hide", []);
- rowsForHideRaw = [];
- }
- var rows = document.querySelectorAll('table tr');
- var isBeforeFirstRow = true;
- rows.forEach(function(row) {
- const rowAvailableForExchange = isRowAvailableForExchange(row)
- const id = rowAvailableForExchange.id
- if (rowsForHideRaw.includes(id)){
- row.style.display = 'none';
- } else if (rowAvailableForExchange.result){
- row.innerHTML += `<td class=wb align=center width=50 id="${id}"><img width="20" height="20" src="https://photo.heroeswm.ru/photo-catalog/0001802/997-4317920ft.png" title = "Hide" style="vertical-align: middle; cursor: pointer;"></td>`;
- const textElement = document.getElementById(id);
- textElement.addEventListener('click', function() {
- addUpdateForHideList(id);
- row.style.display = 'none';
- });
- } else if (rowAvailableForExchange.isFirstRow) {
- isBeforeFirstRow = false;
- row.innerHTML += `<td class=wb align=center width=50 height=24 id="unhide_all_updates"><img width="24" height="16" src="https://photo.heroeswm.ru/photo-catalog/0001802/998-9acec89bt.png" title="Unhide all" style="vertical-align: middle; cursor: pointer"></td>`;
- const textElement = document.getElementById("unhide_all_updates");
- textElement.addEventListener('click', function() {
- GM_deleteValue("rows_for_hide");
- window.location.reload();
- });
- if (rowsForHideRaw.length>0) {
- textElement.style.display = 'visible';
- }
- else{
- textElement.style.display = 'none';
- }
- } else if (isBeforeFirstRow == false) {
- row.innerHTML += '<td class=wb align=center width=50></td>';
- }
- });
- })();