1. JavaScript / Говнокод #25368

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    // ==UserScript==
    // @name        no mail ads
    // @namespace   mail
    // @include     https://e.mail.ru/*
    // @version     1
    // @grant       none
    // ==/UserScript==
    
    
    
    function checkAds(elem)
    {
      var elems=elem.childNodes;
      for(var i=0; i<elems.length; i++)
      {
        var text=elems[i].innerText;
        if (text.length > 80)
          {
            return true;
            break;
          } 
      }
      return false;
    }
    
    
    
    function checkAdsEx(elem)
    {
      var result=false;
      var text=elem.innerText;
      if (text!===undefined)
      result=(text.length > 30);
      return result;
    }
    
    function removeAdv() {
      $('div').filter(function() {
        
        if (checkAdsEx(this))
        this.remove();
      
      
      //m=this.className.match(/[A-Za-z0-9]{7}\s[A-Za-z0-9]{7}_[A-Za-z0-9]{7}\s[A-Za-z0-9]{7}_[A-Za-z0-9]{7}/gm);
      //if (m && checkAds(this))
      //this.remove();
    
      });
    }
                                          
    
    var t=setInterval(removeAdv,1000);

    Рулончик для блокировки ебучей рекламы на mail.ru

    Запостил: cmepmop, 10 Февраля 2019

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

    • > text!===undefined
      Питушня, нет оператора !===. В этом месте должно падать.

      Хотя, иначе вся эта питушня должна была тормозить, а исключение не даёт этому сбыться.
      > $('div').filter(
      > for(
      > innerText
      innerText для всех детей всех дивов считать или кэшировать - долговато. Наверное. Движки непредсказуемы.
      Ответить
      • typeof(property)!=='undefined'
        Ответить
      • Насколько надо быть ебанутым языкостроителем, чтобы придумать говноповедение для "==" и "!=", а потом сказать: "не юзайте их, это говно", и придумать "===" и "!=="?
        Ответить
        • <======3
          Ответить
        • > Насколько надо быть ебанутым языкостроителем
          Настолько, насколько остальные :)
          В "Java" вообще придумали ".equals"; в C - "==*" и "memcmp". То ли дело "python".
          Ответить
          • В сишечке как раз все долвольно прозрачно потому что ты всегда понимаешь указатель утебя или объекд (не всмысле ООП а в смысле кусок данных)

            А вот в JS, Python, или Java эти понятия иногда немного путаются, и начинается боль
            Ответить
    • return true;
              break;
      Смишно.

      А кому нахуй нужен mail.ru?
      Ответить
    • Это нельзя заменить фильтром для адблока?
      Ответить
      • Нельзя, конечно. Id и ClassName узлов рандомные, а у рекламных картинок src=base64.
        Ответить

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