Юзерскрипт "Мои топики" + "Мои комменты". Вторая версия

Задолбало меня лишние ссылки каждый раз тыкать, чтобы свои топики смотреть, решил наваять прямую ссылку рядом с ником

Ссылка на скрипт

Скриншотик


UPD Переписано на квери-селекторахВернул Get методы, добавлена подкраска своих комментов бледно-жёлтым цветом. Специально для таких редких и невнимательных забегаев на Табун, как я

Скриншотик

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

куда более быстрые квери-селекторы

А я где-то читал, что они на порядок медленее gesElementsBy*
andreymal
0
Пока не уточню, откуда брал, поправил новость
Rainbow_Spike
0
— Тут не такой сложный DOM, чтобы приходилось бороться за каждую миллисекунду рендера, использовать виртуальный DOM, вникать в тонкости отрисовки при одновременном обновлении тысяч разных нод по всему документу.
Табун — не суровый продакшен, чего лезть с преждевременной оптимизацией и экономить на спичках. Используйте jQuery, но с умом. И читабельнее будет, и поддерживать легче.
Orhideous
0
… в то время как табун тормозит в любом вебките уже на третьей сотне комментов, в твои слова, мягко говоря, верится слабо.
andreymal
0
— Ты, сам того не желая, как раз подтвердил то, что я сказал.
Используйте jQuery, но с умом

Чего ты хотел от, откровенно говоря, отвратно спроектированного фронтенда с комментариями в global shared mutable state?
Возьми любой тяжелый срачик, убери оттуда весь js, оставь чистый html — и браузер влегкую будет отображать без тормозов.
Orhideous
0
Я пробовал в архиве отключать весь жс — всё равно тормозило, из чего делаю вывод, что кривое всё и сразу)
Но это всё я к тому, что на таком фронтенде это могут быть совсем не миллисекунды и совсем не преждевременная оптимизация)
andreymal
0
— Профили отрисовки фрейма снимал в браузере?
Orhideous
0
Не помню. Надо будет повторить
andreymal
0
— И да, не уводи разговор в демагогию, мне интереснее дискутировать с тобой на аргументах потехничнее и повесомее. :3
Orhideous
0
Ай, стыдно, querySelectorAll('a')[0] — тавтология. querySelector('a') надо. И зелёный цвет оказался занят новыми комментами. Поставлю бледно-жёлтый
Rainbow_Spike
0
Tree
0
Я нашёл виновника в своей ошибке www.codeisart.ru/blog/w3c-css-selectors-api-the-queryselector-and-queryselectorall-methods/

Не посмотрел на год написания статьи (>‿‿<)
Rainbow_Spike
0
> link = nav.querySelector('a')],
-------------------------------^
Tree
0
Не работает
Syntax error @ 'Tabun SelfLink'!
##########################
JSHINT output:
script: (W033) Missing semicolon on line: 11 at character: 34
script: (E030) Expected an identifier and instead saw ']' on line: 11 at character: 34
script: (E033) Expected an operator and instead saw ',' on line: 11 at character: 35
script: (W030) Expected an assignment or function call and instead saw an expression on line: 11 at character: 35
script: (W033) Missing semicolon on line: 11 at character: 36
script: (W020) Read only on line: 12 at character: 5
script: (W030) Expected an assignment or function call and instead saw an expression on line: 16 at character: 13
script: (W088) Creating global 'for' variable. Should be 'for (var i ...' on line: 21 at character: 6
##########################

SyntaxError: Unexpected token ]
    at Function (native)
    at d (eval at <anonymous> (unknown source), <anonymous>:27:37)
    at eval (eval at <anonymous> (eval at <anonymous> (unknown source)), <anonymous>:1:25)
    at eval (native)
    at m (eval at <anonymous> (unknown source), <anonymous>:53:418)
    at Z (eval at <anonymous> (unknown source), <anonymous>:27:80)
    at aa (eval at <anonymous> (unknown source), <anonymous>:63:497)
    at b (eval at <anonymous> (unknown source), <anonymous>:64:398)
    at v.push.fn (eval at <anonymous> (unknown source), <anonymous>:32:209)
WildPony
0
Всё, ошибки исправлены
Rainbow_Spike
0
Слепи лучше возможность промостра постов\комментариев только в определённом блоге. К примеру, зашёл к человеку в профиль, оттуда в посты, а там чтобы можно было вывести посты только по интересующему блогу.
nogard
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
Скрыто Показать