Загрузка...

Funny
Replacing avatars for everyone with

Thread in Extentions created by Corsair Aug 15, 2025. 327 views

  1. Corsair
    Corsair Topic starter Aug 15, 2025 8,069 Sep 1, 2024
    Простое расширение, позволяющее заменить всем пользователям аватарку на свою выбранную.
    (Принимаются форматы: png, gif, jpg, jpeg, svg)

    Чтобы заменить аватары вам нужно:
    1. Установить расширение в tampermonkey, включить
    2. Нажать на кнопку "выбрать картинку"
    3. Выбрать способ загрузки (url/path)
    4. Готово, теперь все равны.

    [IMG][IMG]
    Code
    // ==UserScript==
    // @name Смена Аватарок всем
    // @namespace http://tampermonkey.net/
    // @version 1.6
    // @description Заменяет аватарки
    // @match *://lolz.live/*
    // @match *://zelenka.guru/*
    // @grant none
    // ==/UserScript==

    (function () {
    'use strict';

    const STORAGE_KEY = 'customAvatarImage';

    function replaceAvatars(imageUrl) {
    document.querySelectorAll('a.avatar img').forEach(img => {
    img.src = imageUrl;
    });
    document.querySelectorAll('a.avatar span.img').forEach(span => {
    span.style.backgroundImage = `url('${imageUrl}')`;
    });
    document.querySelectorAll('a[class^="Av"][class$="l"] img').forEach(img => {
    img.src = imageUrl;
    if (img.dataset.url) img.dataset.url = imageUrl;
    });
    document.querySelectorAll('img.LbImage').forEach(img => {
    if (img.closest('a.avatar') || img.closest('.lightbox') || img.closest('.user-avatar-block')) {
    img.src = imageUrl;
    if (img.dataset.url) img.dataset.url = imageUrl;
    }
    });
    document.querySelectorAll('span.avatar img.navTab--visitorAvatar').forEach(img => {
    img.src = imageUrl;
    });


    document.querySelectorAll('.user-avatar-block a.LbTrigger img.LbImage').forEach(img => {
    img.src = imageUrl;
    if (img.dataset.url) img.dataset.url = imageUrl;
    });
    }

    const savedImage = localStorage.getItem(STORAGE_KEY);
    if (savedImage) replaceAvatars(savedImage);
    const btn = document.createElement('button');
    btn.classList.add("button")
    btn.textContent = 'Выбрать картинку';
    Object.assign(btn.style, {
    position: 'fixed',
    top: '4px',
    right: '160px',
    zIndex: 9999,
    });
    document.body.appendChild(btn);

    btn.addEventListener('click', () => {
    const url = prompt('Вставьте ссылку или оставьте пустым чтобы выбрать файл');
    if (url && url.trim() !== '') {
    localStorage.setItem(STORAGE_KEY, url);
    replaceAvatars(url);
    } else {
    const input = document.createElement('input');
    input.type = 'file';
    input.accept = 'image/*';
    input.onchange = (e) => {
    const file = e.target.files[0];
    if (file) {
    const reader = new FileReader();
    reader.onload = (event) => {
    const imageData = event.target.result;
    localStorage.setItem(STORAGE_KEY, imageData);
    replaceAvatars(imageData);
    };
    reader.readAsDataURL(file);
    }
    };
    input.click();
    }
    });
    const observer = new MutationObserver(() => {
    const img = localStorage.getItem(STORAGE_KEY);
    if (img) replaceAvatars(img);
    });
    observer.observe(document.body, { childList: true, subtree: true });
    })();
     
    This article was useful for you?
    You can thank the author of the topic by transferring funds to your balance
    Thank the author
    1. пикми
    2. loosle
      avatarCorsair, я только что хотел такой же опубликовать, ток с хомиаком, и увидел твою тему..
  2. MeloniuM
    Начинаешь стримить форум. Продаешь рекламу на стриме на авах всех пользователей сразу. Лутаешь бабки
     
  3. БИЛЛИНОГАМИ
    :am_think: мало где пригодится, но в целом почему нет - пусть будет, закинул себе на всякий
     
Loading...