Скрипт для замены стандартных аватарок на чейнджлингов

+132
seshokв блоге Общеличный блог15 апреля 2020, 17:30

Или как можно косплеить всем сайтом.

Скрипт хоть и несёт развлекательный характер, но всё-же обладает удобной возможностью.
Благодаря наличию на сайте мужских и женских версий аватарок получилось добавить отдельную аватарку для женского пола.
Вот пример аватарок и комментариев

Но есть неприятный минус: из-за позднего срабатывания скрипта часто видно смену элементов.

Установить скрипт можно отсюда. Для этого подойдёт расширение tampermonkey.
Спасибо за внимание.

40 комментариев

Шла как-то Кризалис по лесу…
EpicMan2
+1
Мы поднимаем Жучиное знамя!
Кто хочет Кризалис — следуй за нами!
Fisherman
+1
Селестии гвардия слева, старжи гармонии справа,
Мы поднимаем к небу, жучиное наше знамя.
Walkcow
0
Ох ты ж лол! Прикольная идейка!
Кстати, с помощью подобного скрипта можно и авки починить — достаточно создать базу, куда их будут заносить.
Ginger_Strings
0
Рад что понравилось (^_^)
Хотел бы помочь починить аватарки, но мои знания пока далеки от этого.
seshok
0
Никогда еще фраза про костыли в программировании не была столь наглядной^^
akela
+2
Эта идея уже как-то обсуждалась помню. Её главная проблема, что этот скрипт надо ставить абсолютно всем пользователям для нормальной работы
Star-Dragon
0
Ставлю
Star-Dragon
0
У вас половина аватарок не выспалась — глаза красные.
Archi
+3

Good, good.


WPAM
+7
— Сбылась мечта чейнджлинга!
Striped_Snob
+4
Вуху!
FiXablom
+3
— УХУ!
WPAM
+5
батя, я в телевизоре

Прикольная идея, однако
Прям — Почувствуй себя жуком
dementra369
+1
Это здорово, поскольку совпадения не случайны =)
seshok (ред.)
0
Чёт падазритильна
dementra369
0
seshok
+1
Для развития: можно опираться на какой-нибудь хэш от имени пользователя и предусмотреть еще большее количество различных аватарок, которые будут и разнообразнее, и неизменны для одного и того же юзера.
StaSyaN
+1
Спойлер
var swarm = document.getElementsByTagName('a');
var x=0;
    while (x<swarm.length) {
       if (swarm[x].text == 'Да, это — Табун!') {
           swarm[x].text = 'Нет, это — Рой!'; }
    x=x+1;
    }


document.querySelector('#logolink a').text = 'Нет, это — Рой!';


Аналогично для аватарок, слишком большой объем перебора.
И точно после обновления у новых меняется? image-то вычисляется где-то в начале.
StaSyaN (ред.)
+1
Ой как я рад этому комментарию! Спасибо! Согласен с большим перебором, но по другому мог сделать только хуже.
После обновления аватарки точно меняются.
seshok (ред.)
0
Ну можно ориентироваться на результат querySelectorAll, где в качестве аргумента произвольный css-селектор.

Вместо
[].forEach.call(image,function(element) {
еще можно использовать
Array.from(image).forEach(function (element) {
, но это уже дело вкуса. Вторая запись чуть длиннее, но читается как-то естественнее.

СпойлерИ, оказывается, HTMLCollection штуки автоматом цепляют состояние документа, не знал.
StaSyaN
+1
Если это поможет скрипту быть хоть чуточку быстрее, то я обязательно это поменяю. Пробовал использовать массивы, но с ними и с моими познаниями пришлось бы оставить одну аватарку.
seshok
0
А если хочется свои аватарки, то нужно загружать их на табун или можно прямо на файлы в папке указать?
Tankony
0
Картинки можно заливать хоть куда, главное чтобы была прямая ссылка.
seshok
+1
Ещё бы для скрытия конкретных постов из ленты и вообще заебись было бы.
partizan150
0
Что-то он не всех заменяет.
partizan150
0
Он заменяет только стандартные аватарки (как у меня). Или проблема со стандартными?
seshok (ред.)
0
Я думал что он все заменит.
partizan150
0
К сожалению такую цель не преследовал. Хотелось просто немного повеселить пользователей без аватарки.
seshok
+1
мне кажется вот эта по умолчанию была бы в разы круче
akela
0
Кстати такой вариант я рассматривал, но всё-же решил оставить более привычный вид.
seshok
0
по мне было бы более символично оставить те что по умолчанию и вот такие^^
akela
0
А я совершенно не понял. Какое ещё расширение? Зачем оно нужно? Разве нельзя ли просто установить и всё? Почему всё так сложно и всегда нужно сделать что-то ещё?!
Black_Lightning
0
Расширение нужно для браузера. Без него невозможно поставить скрипт.
seshok
+1
Потому что разработчики браузеров мудаки и не хотят реализовывать «просто установку» юзерскриптов.
andreymal
0
скорее не горят желанием плодить возможные уязвимости.
akela
0
Сомнительно, в хроме есть (была?) возможность установить юзерскрипт напрямую без расширений, но так запрятана, что про неё никто не знает
andreymal
0
Сомнительно, в хроме есть (была?) возможность установить юзерскрипт напрямую без расширений

Если правильно понимаю, о чем идет речь, то раньше много в каких браузерах была. Куклоскрипт для имиджборд вроде так и ставили — просто закидывая в какую-то из папок в директории браузера (если я ничего не путаю, все-таки десять лет назад было).
Escapist
0
Ух ты, забава!
Медленно, но верно переползаем под власть Кризи =)
makise_homura
+1
Точнее под власть каменной статуи.

з.ы. А меня одного удивило как трутни моментально предали королеву?
Changel (ред.)
+1
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.