useless_buttons

Удаляет при просмотре боя кнопку `вернуться назад` и `вернуться на страницу героя`, в десктоп клиенте убирает кнопку `информация`

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         useless_buttons
// @namespace    http://tampermonkey.net/
// @version      0.1.3
// @description  Удаляет при просмотре боя кнопку `вернуться назад` и  `вернуться на страницу героя`, в десктоп клиенте убирает кнопку `информация`
// @author       Something begins
// @license      University of Sugma
// @match       https://www.heroeswm.ru/war*
// @match       https://my.lordswm.com/war*
// @match       https://www.lordswm.com/war*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant unsafeWindow
// ==/UserScript==

function observeDisplay(el){
    const observer = new MutationObserver((mutationsList) => {
        for (const mutation of mutationsList) {
            if (mutation.type === "attributes" && mutation.attributeName === "style" && el.style.display !== "none") {
                el.style.display = "none";
            }
        }
    });
    observer.observe(el, {
        attributes: true,
        attributeFilter: ["style"]
    });

}
const mobileInterval = setInterval(() => {
    if ([typeof android, typeof iOS].includes("undefined")) return;
    clearInterval(mobileInterval);
    const selectors = ["back_to_game", "back_to_home"];
    if (!android && !iOS) selectors.push("info_on");
    const buttonsLoadedInterval = setInterval(()=>{

        selectors.forEach(selector=>{
            const el = document.querySelector("#"+selector);
            if (el) {
                el.style.display = "none";
                observeDisplay(el);
                clearInterval(buttonsLoadedInterval);
            }
        })
    }, 100);
}, 100);