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

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    try {
    	chrome.tabs.update(tabInfo.tabId, {"active" : true}); // chrome 15+
    } catch (e) {
    	chrome.tabs.update(tabInfo.tabId, {"selected" : true}); // older
    }

    Это ни капли не говнокод. Это - результат breaking changes в chrome.tabs API, про которое нигде не написали и из-за которого ваши расширения для Chrome, использующие chrome.tabs API могут запросто не работать в относительно старых версиях Chrome. При том, что заявлена поддержка Chrome 9+. Из-за такого странного подхода приходится городить такие конструкции, которые выглядят как непонятный говнокод для непосвященных людей.

    1999, 25 Июня 2012

    Комментарии (54)
  2. JavaScript / Говнокод #11283

    +159

    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
    function group_sorting_ABC(array, mode)
    {
        var arr = [],
            resArray = [],
            add;
        for (var i = 0; i < array.length; i++)
        {
            var key;
            if (array[i].index && mode == 'index')
            {
                switch (array[i].index.toString().length)
                {
                case 1:
                    add = '00';
                    break;
                case 2:
                    add = '0';
                    break;
                case 3:
                    add = '';
                    break;
                }
                key = add + array[i].index;
            }
            else
            {
                key = array[i].name;
            }
            arr.push(key + '@' + i);
        }
        arr = arr.sort();
        for (var i = 0; i < arr.length; i++)
        {
            var a = arr[i].split('@');
            var item = array[a[1]];
            resArray.push(item);
        }
        return resArray;
    }

    Наковырял в middleware set top box-а MAG-250.

    vovams, 23 Июня 2012

    Комментарии (5)
  3. JavaScript / Говнокод #11234

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $('button').not('.noBind').bind('click',function(){
    	if(...)
    	{
    		if(...)
    		{
    			return false;
    		}
    	}
    	document.location=$(this).attr('rel')
    });

    Сидели ломали голову, отчего все кнопки на странице куда-то ломятся, а тут такое наследство откопалось. В js-ке, которая грузится всегда.

    speller, 20 Июня 2012

    Комментарии (0)
  4. JavaScript / Говнокод #10967

    +162

    1. 1
    window.location = "http://habrahabr.ru/post/116653/";

    Дело создателей 1С живет и процветает.

    3.14159265, 15 Июня 2012

    Комментарии (8)
  5. JavaScript / Говнокод #10933

    +160

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    function out(message) {
        try {
            alert(message);
        } catch (e) {
            try {
                document.write(message);
            } catch (e) {
                throw "Cannot write";
            }
        }
    }

    хуита, 13 Июня 2012

    Комментарии (0)
  6. JavaScript / Говнокод #10926

    +146

    1. 1
    2. 2
    3. 3
    setInterval (function () {
    				document.getElementById("t").height=window.innerHeight-20;
    			}, 123);

    научите меня как!

    makc3d, 12 Июня 2012

    Комментарии (11)
  7. JavaScript / Говнокод #10722

    +153

    1. 1
    http://pastebin.com/KNAhNqJC

    В связи с тем что толстота освоила новую тактику, выпущена очередная версия говнофильтра™.

    * поддержка скрытия постов. Увы, выкинуть пост из выдачи совсем не получится, так что при флуд-атаках будут пустые страницы.
    * альтернативный "мягкий" метод скрытия комментариев - белое на белом.
    * переписано на jQuery, раз уж оно есть на уютненьком ГК.

    Как обычно, заточено под Firefox+GreaseMonkey.

    Vindicar, 08 Июня 2012

    Комментарии (166)
  8. JavaScript / Говнокод #10630

    +148

    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
    var isScheduledRadio = $('#ContentPlaceHolder1_FormView1_ctl04_ctl00___IsScheduled_RadioButtonList1_0')[0],
                    isSitnGoRadio = $('#ContentPlaceHolder1_FormView1_ctl04_ctl00___IsScheduled_RadioButtonList1_1')[0],
                    startDateTextBox = $('#ContentPlaceHolder1_FormView1_ctl04_ctl07___StartDate_TextBox1')[0],
                    minPlayersTextBox = $('#ContentPlaceHolder1_FormView1_ctl04_ctl14___MinPlayers_TextBox1')[0],
                    maxPlayersTextBox = $('#ContentPlaceHolder1_FormView1_ctl04_ctl15___MaxPlayers_TextBox1')[0],
                    maxPlayersRequiredValidator = $('#ContentPlaceHolder1_FormView1_ctl04_ctl15___MaxPlayers_RequiredFieldValidator1')[0],
                    maxPlayersRow = $('#ContentPlaceHolder1_FormView1_ctl04_ctl15___MaxPlayers_TextBox1')
                        .parent()
                        .parent()[0],
                    endDateTextBox = $('#ContentPlaceHolder1_FormView1_ctl04_ctl08___EndDate_TextBox1')[0],
                    endDateRequiredValidator = $('#ContentPlaceHolder1_FormView1_ctl04_ctl08___EndDate_RequiredFieldValidator1')[0],
                    endDateRow = $('#ContentPlaceHolder1_FormView1_ctl04_ctl08___EndDate_TextBox1')
                        .parent()
                        .parent()[0],

    Увидел такой код с сорцах ASP.Net страницы

    krikz, 08 Июня 2012

    Комментарии (7)
  9. JavaScript / Говнокод #10627

    +158

    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
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    function check_email(_email)
    {
      var letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_0123456789 ";
      var i = 0, j = 0;
      var match = false;
    
      if (_email.length == 0) {
        return false;
      }
    
      for (i = 0; i < _email.length; i++)
      {
        match = false;
        for (j = 0; j < letters.length; j++)
        {
          if (_email.charAt(i) == letters.charAt(j))
          {
            match = true;
            break;
          }
        }
    
        if (!match)
        {
          if (_email.charAt(i) == '.') {
            match = true;
          }
        }
    
        if(!match) {
          break;
        }
      }
     
      if (i >= _email.length) {
        return false;
      }
     
      if (_email.charAt(i++) != '@') {
        return false;
      }
    
      var dotpassed = false;
    
      while (i < _email.length)
      {
        var match = false;
        for (j = 0; j < letters.length; j++)
        {
          if (_email.charAt(i) == letters.charAt(j))
          {
            match = true;
            break;
          }
        }
     
      if (!match)
      {
        if (_email.charAt(i) == '.')
        {
          dotpassed = true;
          match = true;
        }
      }
    
      if (!match) return false;
      i++;
      }
     if (dotpassed) return true;
     return false;
    }

    в недрах http://astro.smsonline.ru/

    Timon, 08 Июня 2012

    Комментарии (36)
  10. JavaScript / Говнокод #10617

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    function changeFilter(event) {
      if (parseInt(event.newValue) < 1000) {
        api.Msg.showErr("Укажите год!");
      }
    }

    Обработчик onchange поля "Год"

    glprizes, 07 Июня 2012

    Комментарии (7)