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

    +145

    1. 1
    alert("0"==0);

    Просто замечательный язык. Как строка может равняться нулю? Кому в голову могла прийти настолько плохая идея?
    Зачем программисту помнить, что есть ==, а есть ===? Почему не сделать ==2 и ==3.
    Почему так тупо?

    alexoy, 02 Октября 2011

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

    +169

    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
    function echeck(str) {
      var at="@"
      var dot="."
      var lat=str.indexOf(at)
      var lstr=str.length
      //  var ldot=str.indexOf(dot)
      if (str.indexOf(at)==-1){
        alert("Invalid E-mail ID");
        return false;
      }
      if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
        alert("Invalid E-mail ID");
        return false;
      }
      if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
        alert("Invalid E-mail ID");
        return false;
      }
      if (str.indexOf(at,(lat+1))!=-1){
        alert("Invalid E-mail ID");
        return false;
      }
      if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
        alert("Invalid E-mail ID");
        return false;
      }
      if (str.indexOf(dot,(lat+2))==-1){
        alert("Invalid E-mail ID");
        return false;
      }
      if (str.indexOf(" ")!=-1){
        alert("Invalid E-mail ID");
        return false;
      }
      return true;
    }

    если честно, дочитал где-то только до 15 строки

    marg, 30 Сентября 2011

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

    +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
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    var resizeTimer,calWidth,$BlockPath,widthLeftPart,widthRightPart,count;
    var $headBlock = $('div.hdr');
    var $rightBlock = $('li.userFullName');
    var $leftBlock = $('li.subMenu-title');
    
    $(document).ready(resizeLabels);
    $(window).resize(resizeLabels);
    
    function doResizeLabels($typeBlock) {
            count = 2;
            resultWidth = 0;
            if ($typeBlock==$leftBlock) {
                    $BlockPath=$('ul.subMenu li:not(.subMenu-title)');
            } else {
                    $BlockPath=$('ul.usersLink li:not(.userFullName)');
            };    
            $BlockPath.each(function() {
            eachPosition = $(this).position(); 
            eachWidth = $(this).width();  
            eachOuterWidth = $(this).outerWidth();
            count++;
            if ($typeBlock==$leftBlock) {
                    widthLeftPart = eachPosition.left + eachWidth;
                    widthPadding = eachOuterWidth - eachWidth;
            } else {
                    if (count==3) widthPadding = eachPosition.left;
                    widthRightPart = widthRightPart + eachOuterWidth;
            };              
            });    
            if ($typeBlock==$leftBlock) {
                    widthLeftPart = widthLeftPart + ((widthPadding / 2) * count);
                    resultWidth = headWidth/2 - widthLeftPart;
            } else {
                    rightWidth = headWidth/2 - widthRightPart;
                    resultWidth = rightWidth-(headWidth/2-widthPadding/2)/2;
            };        
            $typeBlock.width(resultWidth);
    }
    function resizeLabels() {
            $leftBlock.width(0);
            $rightBlock.width(0);
            headWidth = $headBlock.width();
            widthLeftPart = widthRightPart = 0;        
            headWidth = $headBlock.width();
            
            doResizeLabels($leftBlock);
            doResizeLabels($rightBlock);				
    };

    Serious_Andy, 30 Сентября 2011

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

    +172

    1. 1
    var id = document.getElementsById('color').id;

    омг

    jQuery, 29 Сентября 2011

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

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    function fakePassword() {
    	$(":input:password").each(
    		function(i) {
    			$("#" + this.id + "-hidden-password").attr("name", this.name);
    			$("#" + this.id + "-hidden-password").attr("value", this.value);
    			$(this).removeAttr("value");
    			$(this).removeAttr("name");
    		}
    	);
        return true;
    }

    Connor, 28 Сентября 2011

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

    +160

    1. 1
    2. 2
    3. 3
    var messageDiv = document.getElementById("information-dialog");
    $(messageDiv).html(html);
    messageDiv.style.display = "block";

    Connor, 28 Сентября 2011

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

    +154

    1. 1
    http://rozetka.com.ua/notebooks/c80004/filter/

    Ну что ж бывает, у меня чуть фаербаг не лопнул.

    LmSys, 28 Сентября 2011

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    strHTML = strHTML.replace(/param1/ig, "param1");
    strHTML = strHTML.replace(/param2/ig, "param2");
    strHTML = strHTML.substring(strHTML.indexOf("<param1>"), strHTML.indexOf("</param1>")+7);
    strHTML = strHTML.replace(/\\/g, "");

    Teddy_Brown, 27 Сентября 2011

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

    +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
    /* change font size */
    
    function changeFontSize(newsize) {
      var hasCookie = readCookie('fontsize');
      if ($('content') != null){
        if (newsize == '0') {
      	  if (hasCookie) {
      	    if (newsize == '0') {
    		  document.getElementById("content").style.fontSize = hasCookie+"em";
      	  	} else {
      	  	  document.getElementById("content").style.fontSize = newsize+"em";
      		}
      	  }
        } else {
    		document.getElementById("content").style.fontSize = newsize+"em";
      	  	var date = new Date();
      			date.setTime(date.getTime()+(30*24*60*60*1000));
      			var expires = "; expires="+date.toGMTString();
      			document.cookie = "fontsize="+newsize+expires+"; path=/";
      	}
    	}
    }
    
    function readCookie(name) {
    	var nameEQ = name + "=";
    	var ca = document.cookie.split(';');
    	for(var i=0;i < ca.length;i++) {
    		var c = ca[i];
    		while (c.charAt(0)==' ') c = c.substring(1,c.length);
    		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    	}
    	return null;
    }
    
    window.onload = function () { changeFontSize('0'); }

    jQuery, 27 Сентября 2011

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

    +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
    // ==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, 26 Сентября 2011

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