Небольшой UserScript: Pikabu UserInfo

Делать было нечего, дело было к вечеру. За пару часов, между чтением Пикабу и бутербродами написал несколько строк кода, чисто для себя. Данный небольшой скрипт выводит около пользователя (при наведение на НИК) в комментариях карточку пользователя.

Небольшой UserScript: Pikabu UserInfo Userscript, User JS, Javascript

Установка


1) Для пользователей Хрома и ему подобных - надо скачать файл pikabu_userinfo.user.js, перейти в Настройки -> Расширения и перетащить скачанный файл в расширения.


2) Для других браузеров (для Хромо-подобных тоже подходит) - поставьте расширение Greasemonkey, Tampermonkey или аналогичное и загрузите в это расширение данный файл или код файла. В некоторых браузерах при некоторых *monk'еях при щелчке по ссылке на файл - они предлагают сразу сами установить, надо только согласиться. Надеюсь справитесь, если нет, то спрашивайте в комментариях, подскажу.


Обновления находятся на GIST, для установки от туда - там надо щелкнуть кнопочку RAW и окропляется файл (см. пункт 1) или предложено будет его установить (см. пункт 2).


Тест проводился только на себе, поэтому могут быть проблемы. Спрашивайте в комментариях.

Баги и ошибки


На данный момент имеется небольшая ошибка: если быстро тыкать разные ники, то бывает подгрузка зависает и инфа не грузится. Редко такое, но бывает.

Планы


Следите на GIST за обновлениями. Может они будут, а может нет. Всё зависит от лени и активности пользователей...который обычно никогда нет :(


В планах сделать:

1) Вместо HOVER (наведение мышки) - открытие и скрытие по клику. Пока они мельтешат не очень удобно. Скорее всего будет очень скоро реализовано, может и сегодня.

2) Показывать строку заметки (может и править можно будет её на месте).

3) Сделать такую же информацию у автора поста.

4) Выводить последние посты коротким списком с ссылками.

5) В далёких планах (может быть даже отдельным скриптом) - метить пользователей и хранить локально эти метки...но это другая история и если будет не лень и желание не пропадёт.

6) Не получилось из-за верстки сайта показывать карточку поверх комментов, не раздвигая их, через абсолютное позиционирование). Может быть сделаю потом через фиксированное позиционирование, пока не вижу смысла на этом заострять внимание.

Web-технологии

526 постов5.8K подписчик

Правила сообщества

1. Не оскорблять других пользователей

2. Не пытаться продвигать свои услуги под видом тематических постов

3. Не заниматься рекламой

4. Никакой табличной верстки

5. Тег сообщества(не обязателен) pikaweb

1
Автор поста оценил этот комментарий

@BaNru, спасибо большое!

Видел ваш багрепорт https://pikabu.ru/story/nemnogo_o_bagakh_i_yuzabiliti_526525..., надеюсь администрация изменит своей традиции и поправит этот визуальный баг.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Да, если бы не правил юзерскипт, не заметил бы :)

Спасибо.


PS Только что ниже отписался. Обновил ещё раз. Теперь выводится список последних сообщений.

показать ответы
0
Автор поста оценил этот комментарий

@BaNru, кстати, можно удалять секцию наград, если она пуста (для экономии места). Вот примитивный способ:

    if ($(userinfoEl).find(".awards_wrap>div>a").length === 0){
         $(userinfoEl).find(".awards_wrap").parent().remove();
    }

Кроме того, можно заставить работать кнопку "показать все [награды]" если секция не пуста.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Сделано.
Автор поста оценил этот комментарий

Обновил скрипт.

Пункты 1 и 3 сделаны.


Если надо открыть профиль на отдельной странице, то либо колесиком жмём ссылку, либо правой мышь - открыть в новой вкладке.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Обновил скрипт.

4) Выводить последние посты коротким списком с ссылками.

Сделано


Осталось 2 и 5. От 6 пункта решено отказаться.

0
Автор поста оценил этот комментарий

@BaNru, вы все ещё обновляете этот userscript? Если так, то можете либо убрать кнопки "Подписаться" и "Добавить в игнор", либо заставить их работать?


Они убираются элементарно: например, вот примитивный способ убрать "Подписаться"

    $(userinfoEl).find('.sub_init.b-button.b-button_type_green.button_subscribe').remove();

Заставить их работать тоже не сложно: просто перетаскивать немного JS в дополнение к HTML.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Сделано.

Обновляться всё от туда же: https://gist.github.com/BaNru/595ea011c3b9eac9eb47bf5a61124c...

показать ответы
0
Автор поста оценил этот комментарий

@BaNru, вы все ещё обновляете этот userscript? Если так, то можете либо убрать кнопки "Подписаться" и "Добавить в игнор", либо заставить их работать?


Они убираются элементарно: например, вот примитивный способ убрать "Подписаться"

    $(userinfoEl).find('.sub_init.b-button.b-button_type_green.button_subscribe').remove();

Заставить их работать тоже не сложно: просто перетаскивать немного JS в дополнение к HTML.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Хорошо. Сегодня или завтра посмотрю.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Не знал.

2
Автор поста оценил этот комментарий

Давно уже есть

Иллюстрация к комментарию
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Где есть? Как?
показать ответы
Автор поста оценил этот комментарий

Обновил скрипт.

Пункты 1 и 3 сделаны.


Если надо открыть профиль на отдельной странице, то либо колесиком жмём ссылку, либо правой мышь - открыть в новой вкладке.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Обновил скрипт.

Изменил обновлённый протокол

Обсуждение протокола в теме: https://pikabu.ru/story/pikabu_bezopasnyiy_5217354

Автор поста оценил этот комментарий

Обновил скрипт.

Пункты 1 и 3 сделаны.


Если надо открыть профиль на отдельной странице, то либо колесиком жмём ссылку, либо правой мышь - открыть в новой вкладке.

показать ответы
Автор поста оценил этот комментарий

мой скрипт куда интереснее

раскрыть ветку (1)
Автор поста оценил этот комментарий
Тот что по ссылке выше?


Там есть один очень плохой момент: он делает постоянно запросы, а у меня вбивает в страницу данные и не делает повторный запрос.

И у меня только первая пробная версия на скорую руку.

Не только под хром, а под все браузеры, где есть monk'еи. У юзерскрипта и аддона - есть свои плюсы и минусы.

показать ответы