ЙажаСценарий / Говнокод #7990 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
// ==UserScript==
// @name	govnokod.ru new comments mark
// @namespace	('__'X)
// @description	govnokod.ru new comments mark for Ctrl+F
// @include	http://*.govnokod.ru/*
// @include	http://govnokod.ru/*
// ==/UserScript==

function addNewMark()
{
var	i, d = document.getElementsByTagName('div');
	for (i in d) if (d[i].className == 'entry-comment-wrapper new')
	{
		d[i].getElementsByTagName('p')[0].getElementsByTagName('a')[1].innerHTML += 'new';
	}
}

if (location.hostname.match(/govnokod\.ru$/))
{
	if (document.addEventListener)
	{
		document.addEventListener('DOMContentLoaded', addNewMark(), false);
	} else {
		window.addEventListener('load', addNewMark(), false);
	}
}
//* OR
//* 1) Copypaste into browser @field: javascript:var i,d=document.getElementsByTagName('div');for(i in d)if(d[i].className=='entry-comment-wrapper new')d[i].getElementsByTagName('p')[0].getElementsByTagName('a')[1].innerHTML+='new';void(0);
//* 2) Ctrl+F for '#new'

Накидал только что. Помечает новые посты меткой "#new", можно контролэфить.
Работает только для страниц отдельных ГК, в том числе из мусорки.
Треды до полсотни комментов можно и так оглядеть, если больше - открываю отдельно.
Но всё равно стоит добавить фичу на стороне сервера.

Запостил: ej ej, (Updated )

Комментарии (27) RSS

  • Нужно ещё пару рубрик:
    PHP.Даты; и
    Говнокод для Говнокода.
    Ответить
  • насколько я понял, это будет работать только для отдельных страниц с говнокодами, а в общей ленте - нет?
    Ответить
      • бля, опять спрашивают, что не так с for ... in 😀
        энумерация пропертей же!
        Ответить
            • Слушай, а почему
              window.addEventListener('load', addNewMark(), false);

              конструкция вида addNewMark() не вернёт ли свой результат?
              (а так как она ничё не возвращает - не получим ли мы фигу?)
              --
              (упс, там ниже уже написали... недоскроллил...)
              Ответить
          • в общем-то там есть и forEach есть, непринципиально как итерировать NodeList

            хотя тоже проще бы инъекцию стиля сделать и сделать класс new более заметным (я уже страйкера уговорил и он сделал чуть менее пастельно 🙂
            Ответить
    • А я плюсану. Я вообще не программист. Оно работает и пригодилось, но если кому не лень, поправляйте.
      Ответить
  • А как оно так вообще работает? addEventListener'у нужна ссылка на функцию, а вы туда undefined передали.
    Ответить
    • Как юзерскрипт в Опере. Ошибок в логе нет. Лучше без скобок в отличие от function(){}?
      Ответить
      • Очевидно в Опере очень шаловливыми руками писали интерпретатор...
        window.addEventListener("click", alert, false);
        window.addEventListener("click", alert("whatever"), false);

        С какой стати у вас работает - я не знаю.
        Ответить
        • в опере тоже не работает
          и типа не должно
          во второй строка eval забыли
          Ответить
        • Opera v11.10.2092 (последующие - fffuuu).
          window.addEventListener("click", alert, false); //* при каждом клике выводит текст "[object MouseEvent]"
          window.addEventListener("click", alert("whatever"), false); //* вывело "whatever" при вводе скрипта в адрес и всё


          Сабж без скобок таки работает, если оставить только
          window.addEventListener('load', addNewMark, false);

          безо всяких условий и документов, которые ничему не помогают, насколько я вижу.
          Ответить
  • ... и почему не JQuery? <img src='fat_green.jpg'>

    upd 201190271549 :
    кому-то режет глаз мой камент по поводу оформления кода? ОЛОЛО!
    Ответить
  • Хотел бы я подсветку новых комментариев на полосе прокрутки. Как поиск на странице в хроме. Было бы удобнее. Длинные треды приходится просто листать =(
    Ответить
  • х)H,K.S.R,K(E(Q!J"T,O"MB Q)E.P?Y?G:A Q,W!QX)T.Z!Y(K,T.L F L:G?N:Z!C$A:Y:D$W)F:K$F"F,W$Q.L O:R?A$Y(U"M!N?ZE.W.N?X$M E U.W.V,N B)Y.WC!B:Q!I(OQ.U.A$D)W"G,O)J.F L.X"I.S!U$Z,J,I,M.X?Q?W?X F X)P"N.S P,K:IP KПXNCQUCEZGGXOHBKCODUFOMFCMCXMEDYEFITLKRZVSPYLWWOREFWQUMUGXZVFHWBVFEDUFRQFHYXVHXHQZRKHMAUOOLOITCSPBLICQIMNKGXVTZMTEFSMTAVBEUCMHXHUCJPQGGVRDSYAXKRGIMJDXMOOPJFOTBBAZMXKEOJTKDCYUCRFZHMDODPZABNDZATALDBTHPRJNXJXQZLKJRTEYOOIPIUQDLQJLROXSDFN
    Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8