Topic Author Highlighter

Подсвечивает комментарии автора топика

  1. // Topic Author Highlighter
  2. // by Yuriy Babak aka Inversion (http://inversion.habrahabr.ru/), mailto: yura.des@gmail.com
  3. // based on http://userscripts.org/scripts/show/29991 by TiGR
  4.  
  5. // ==UserScript==
  6. // @name Topic Author Highlighter
  7. // @version 2.0.1.2
  8. // @namespace Habrahabr
  9. // @description Подсвечивает комментарии автора топика
  10. // @include http://habrahabr.ru/*
  11. // ==/UserScript==
  12.  
  13. /* --------------------------------------------------------------------------------
  14.  
  15. v2.0.1 (09.12.12)
  16. - fixed: подсветка не срабатывала на некоторых страницах
  17.  
  18. v2.0.0 (14.09.12)
  19. - (Opera) fixed: иногда скрипт крашится из-за того, что $ еще не определен на момент исполнения скрипта (сообщение от хабраюзера CaptainFlint)
  20. - fixed: скрипт не срабатывал, если около имени автора топика есть ссылка G+
  21. - changed: цвет подсветки изменен на менее насыщен (замечание от CaptainFlint)
  22. - код сильно изменен, из-за чего увеличена мажорная версия
  23.  
  24. v1.0.1 (14.04.12)
  25. - добавлена поддержка Opera
  26. v1.0 (18.03.12)
  27. - public release
  28.  
  29. ---------------------------------------------------------------------------------- */
  30.  
  31. "use strict";
  32.  
  33. !function(win) {
  34. if (window != window.top) return
  35. var doc = win.document
  36. // on ready
  37. var f_on_ready_done = false
  38. function on_ready($) {
  39. if (f_on_ready_done) return false
  40. f_on_ready_done = true
  41. // comments present on page
  42. if ($('#comments')[0]) {
  43. $('<style>\
  44. .info.topic_author {background-color:#FFEFEF} \
  45. .info.topic_author.is_new {background-color:#efd9ef !important} \
  46. </style>').appendTo('head')
  47. var authorName = $('.infopanel .author a:first, div.vcard .nickname span').text()
  48. $('#comments div.info .username, #comments ul.info .username a').each(function(){
  49. var uName = $(this)
  50. if (uName.text() == authorName) {
  51. uName.parent('.info').addClass('topic_author')
  52. uName.parents('ul.info:first').addClass('topic_author')
  53. }
  54. })
  55. } // comments present on page
  56. } // on_ready
  57. // waiting for jQuery
  58. var t_waiting_for_jQuery = setInterval(function() {
  59. if (win.jQuery) {
  60. clearInterval(t_waiting_for_jQuery)
  61. var $ = win.jQuery
  62. if ($('#comments_form').length>0) {
  63. on_ready($)
  64. }
  65. else {
  66. $(doc).ready(function() {
  67. on_ready($)
  68. })
  69. }
  70. } // if (win.jQuery)
  71. }, 50) // setInterval
  72. }(typeof unsafeWindow == 'undefined' ? window : unsafeWindow)

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址