Юзерскрипты "Мои топики" + "Мои комменты". Третья итерация

+44
Rainbow_Spikeв блоге Блог им. Rainbow_Spike28 апреля 2020, 17:25

Предыстория

Скрипт разделён на две части — Tabun Self Topics Link и Tabun Self Color Comments




UPD
Скрипты удалены, причины:
1. tabun.everypony.ru/blog/technical/221455.html
2. tabun.everypony.ru/blog/194792.html#comment13938896

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

О, спасибо, кстати за них.
Только я ещё дополнительно сделал себе мод:

Коряво, но как-то так.
// ==UserScript==
// @name           Tabun SelfLink
// @description    Прямая ссылка на свои топики + подкрашивание комментов
// @include        http*://tabun.everypony.ru/*
// @grant          none
// @version 0.0.1.20150523131532
// @namespace https://greasyfork.org/users/7568
// ==/UserScript==

var nav = document.getElementById('dropdown-user'), // в документе - блок профиля
    link = nav.getElementsByTagName('a')[0], // в нём - ссылка аватарки
    name = link.href.match(/profile\/(.*)\//)[1], // в ней - имя1
    mess = document.createElement('a'), // новая ссылка топиков
    text = document.createTextNode('Topics'), // текст будущей ссылки
    auth = document.getElementsByClassName('comment-author'), // в документе - авторы комментов
    green = "background-color: #FFFFEE;"; // жёлтый стиль
mess.href = link.href + 'created/topics/'; // конструирование URL топиков
mess.setAttribute('class', 'username'); // копирование синего стиля
mess.appendChild(text); // присоединение текста
nav.insertBefore(mess, link.nextSibling); // вставка топиков после аватарки
var nav2 = document.getElementById('dropdown-user'), // в документе - блок профиля
    link = nav.getElementsByTagName('a')[0], // в нём - ссылка аватарки
    name = link.href.match(/profile\/(.*)\//)[1], // в ней - имя1
    mess = document.createElement('a'), // новая ссылка топиков
    text = document.createTextNode('Comments'), // текст будущей ссылки
    auth = document.getElementsByClassName('comment-author'), // в документе - авторы комментов
    green = "background-color: #FFFFEE;"; // жёлтый стиль
mess.href = link.href + 'created/comments/'; // конструирование URL топиков
mess.setAttribute('class', 'username'); // копирование синего стиля
mess.appendChild(text); // присоединение текста
nav.insertBefore(mess, link.nextSibling); // вставка топиков после аватарки
for (i in auth) { // обыск комментаторов
  var name2 = auth[i].getElementsByTagName('a')[0].href.match(/profile\/(.*)\//)[1]; // имя комментатора
  if (name == name2) { // если комментатор = профиль
    var divauth = auth[i].parentNode.parentNode; // див коммента
    divauth.style = divauth.getElementsByClassName('comment-content')[0].style = green; // залить стилем
  }
}

Если бы кнопочка комментов появилось в «официальной ветке» скрипта, то было бы шикарно…
Lyinx
+2
Что-то у меня подсветка своих комментариев работает не полностью. Часть комментариев в топике подстветило, часть, более поздних — нет. Правда, у меня тяжёлый случай — мобильный Firefox 68.7.0 и юзерстиль Злюки «табун 1.4». Greasemonkey актуальный из магазина дополнений лисы.
gelirhil
0
Свои комментарии имеют класс .comment-self, так что для них юзерскрипт не нужен. Можно просто поярче сделать выделение.
StaSyaN
+1
Сделал вот такой юзерстиль вместо «Мои комменты»:
/* ==UserStyle==
@name         Tabun ReStyler
@namespace    TRS
@author       Rainbow Spike
@description  Рестиль Табуна
@version      2025.10.27
@preprocessor less
==/UserStyle== */
@-moz-document domain("tabun.everypony.ru") {
    /* стилизация окна ввода комментария */
	.reply textarea {
		border: 1px solid rgb(153, 153, 153) !important;
		border-radius: 56px 10px;
		padding: 10px 25px;
		height: 200px;
	}
    
    /* свои комменты */
    .comment-self {
        background-color: #FFFFCC;
        .comment-content {
            background-color: #FFFF99 !important;
        }
    }
}
Rainbow_Spike
0

Так-то для этого существует getElementsByTagName, который возвращает живую коллекцию элементов, правда понадобится её чем-то обзёрвить… наверное =/
badunius
0
Юзерскрипт «Мои топики» (от 2015 года, с последней версией весной 2020 года) удалён из-за осеннего (2025 года) обновления Табуна tabun.everypony.ru/blog/technical/221455.html
Свершилось. 10 лет ждали!
Rainbow_Spike
+1
О, то-то он пропал с greasyfork (а я только планировал сказать про то, что он стал не нужен, да и не работает на новых зеркалах табуна).
(Хотя, может, прямо удалять его не стоило — а просто пометить как устаревший, так сказать, для истории?)
makise_homura
0
Тогда уж и скрипт ЧС для истории — он тоже почил в бозе. ))
LunReaper
+1
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.