- 1
- 2
Участник, прошу тебя: не поленись, пройди по анкетам и поставь всем минусы.
Минуисуя участников, ты помогаешш обществу снижать ЧСВ.
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+132
Участник, прошу тебя: не поленись, пройди по анкетам и поставь всем минусы.
Минуисуя участников, ты помогаешш обществу снижать ЧСВ.
Участник, прошу тебя: не поленись, пройди по анкетам и поставь всем минусы.
Минуисуя участников, ты помогаешш обществу снижать ЧСВ.
+136
function NameBro() {
var userAgent = navigator.userAgent.toLowerCase();
// Определим Internet Explorer
if (userAgent.indexOf("msie") != -1 && userAgent.indexOf("opera") == -1 && userAgent.indexOf("webtv") == -1) {
return "msie";
}
// Opera
if (userAgent.indexOf("opera") != -1) {
return "opera";
}
// Gecko = Mozilla + Firefox + Netscape
if (userAgent.indexOf("gecko") != -1) {
return "gecko";
}
// Safari, используется в MAC OS
if (userAgent.indexOf("safari") != -1) {
return "safari";
}
// Konqueror, используется в UNIX-системах
if (userAgent.indexOf("konqueror") != -1) {
return "konqueror";
}
return "unknown";
}
var bro = NameBro();
$(function() {
if(bro == "msie") {
$("body").html("Пшел нах с маего супир сайта бамжара ибаная. И где ты только комп взял украл или на памойки нашел? Харашо нынчи бамжы жывут сук пздц((");
window.location.hash = "Сматри бомж тибя дажы в адресной страке затралли азазазаз.";
}
})
+139
// ==UserScript==
// @name GK parent comment
// @namespace GK
// @description Adds links to parent commentary to GK comments, and sets parent commentary text as link tooltip.
// @include http://govnokod.ru/*
// @include http://www.govnokod.ru/*
// @version 1.0.0
// @updateURL http://userscripts.org/scripts/source/172756.meta.js
// @downloadURL http://userscripts.org/scripts/source/172756.user.js
// ==/UserScript==
(function(){
//hack for Chrome, as it doesn't support unsafeWindow.
if (typeof unsafeWindow == 'undefined')
{
unsafeWindow = (function()
{
var el = document.createElement('p');
el.setAttribute('onclick', 'return window;');
return el.onclick();
}())
};
$ = unsafeWindow.jQuery;
//dirty, DIRTY hack to wait for certain element to appear. -_-
//But I have no idea how to do it right.
function waitForSelector(selector, context, mustexist, callback) {
var l = $(selector, context).length;
if ((l>0) != mustexist)
{
setTimeout(function(){waitForSelector(selector, context, mustexist, callback)}, 50);
return false;
};
callback();
}
//short function for adding custom CSS rules. Why use Greasemonkey specific GM_setStyle() just for that?
function addCSS(rule) {
var styleElement = document.createElement("style");
styleElement.type = "text/css";
if (typeof styleElement.styleSheet !== 'undefined')
styleElement.styleSheet.cssText = rule;
else
styleElement.appendChild(document.createTextNode(rule));
document.getElementsByTagName("head")[0].appendChild(styleElement);
}
addCSS([
'.comment-parent-link {margin-left:10px;font-size:10pt}',
].join('/n'));
var PARENT = '<a class="comment-link comment-parent-link" href="">↑</a>';
var oldLoadComments = unsafeWindow.comments['load'];
function newLoadComments(aElemTrigger) {
var $parent = $(aElemTrigger).closest('.entry-comments');
oldLoadComments.call(this,aElemTrigger);
waitForSelector('.hcomment', $parent, true, function(){
setParentLinks($parent);
});
}
unsafeWindow.comments['load'] = newLoadComments;
function setParentLinks($context) {
$context.find('.hcomment').each(function(i,e){
var $this = $(this);
var $parent = $this.parents('.hcomment:eq(0)');
if ($parent.length) {
var $parentlink = $(PARENT);
$parentlink.attr('href', $parent.find('a.comment-link:eq(0)').attr('href'));
$parentlink.attr('title', $parent.find('.comment-text:eq(0)').text());
$this.find('a.comment-link:eq(0)').after($parentlink);
}
});
}
setParentLinks($('body'));
})();
http://userscripts.org/scripts/show/172756
По просьбам трудящихся, скрипт для поиска родительского комментария. Добавляет ссылку на родителя, и ставит его текст как тултип.
Учитывая подключение либы с самого сайта и метод поиска динамически подгруженных комментариев, вполне себе говнокод. А потому: тов. Страйкер, вынесите уже отдельно функцию comments.loadSuccessful()! А то адский гемморой любую постобработку комментариев делать.
+155
/* Декодирование параметров
===========================================================================*/
$(document).ready(function () {
var stext = $("input[name = 'stext'], input[name = 'text']");
function decodeURLParameter(name) {
if (!!name) return decodeURI((RegExp(name + '=' + '(.+?)(&|$)').exec(location.search) || [, null])[1]);
}
if (stext) {
var urlText = decodeURLParameter('stext');
if (urlText != undefined && urlText != "" && urlText[0] != '&' && urlText != "null") {
var sstext = [stext[1], stext[2]];
$(sstext).val(urlText);
}
}
});
Будучи младшим веб-разработчиком наваял...
+157
function timeToString(year, month, day, hour, minute, sec, msec) {
var date = new Date(year, month, day, hour, minute, sec, msec);
var now = new Date();
var msec = now.getTime() - date.getTime(); // Миллисекунды
var sec = Math.round(msec / 1000);
var years = Math.floor(sec / (86400 * 365));
var days = Math.floor((sec - years * 86400 * 365) / 86400);
var hours = Math.floor((sec - years * 86400 * 365 - days * 86400) / 3600);
var minutes = Math.floor((sec - years * 86400 * 365 - days * 86400 - hours * 3600) / 60);
var seconds = sec - years * 86400 * 365 - days * 86400 - hours * 3600 - minutes * 60;
// Проверяем, были ли високосные года?
var i;
for(i = date.getFullYear(); i <= now.getFullYear(); i++) {
if(i % 4 === 0) {
if(i === now.getFullYear()) {
if(now.getMonth > 2) {
days++;
}
elseif(now.getMonth === 2) {
if(now.getDay === 28) {
days++;
}
}
}
else
{
days++;
}
}
var yearName;
var yearOst = years % 10;
if(years === 1 || (yearOst === 1 && years > 20))
{
yearName = 'год'
}
else if((years === 2 || years === 3 || years === 4) || ((yearOst === 2 || yearOst === 3 || yearOst === 4) && years > 20))
{
yearName = 'года';
}
else
{
yearName = 'лет';
}
var hourName;
var hourOst = hours % 10;
if(hours === 1 || (hourOst === 1 && hours > 20))
{
hourName = 'час'
}
else if((hours === 2 || hours === 3 || hours === 4) || ((hourOst === 2 || hourOst === 3 || hourOst === 4) && hours > 20))
{
hourName = 'часа';
}
else
{
hourName = 'часов';
}
var dayName;
var dayOst = days % 10;
if(days === 1 || (dayOst === 1 && days > 20))
{
dayName = 'день'
}
else if((days === 2 || days === 3 || days === 4) || ((dayOst === 2 || dayOst === 3 || dayOst === 4) && days > 20))
{
dayName = 'дня';
}
else
{
dayName = 'дней';
}
var minuteName;
var minuteOst = minutes % 10;
if(minutes === 1 || (minuteOst === 1 && minutes > 20))
{
minuteName = 'минута'
}
else if((minutes === 2 || minutes === 3 || minutes === 4) || ((minuteOst === 2 || minuteOst === 3 || minuteOst === 4) && minutes > 20))
{
minuteName = 'минуты';
}
else
{
minuteName = 'минут';
}
var secondName;
var secondOst = seconds % 10;
if(seconds === 1 || (secondOst === 1 && seconds > 20))
{
secondName = 'секунда'
}
else if((seconds === 2 || seconds === 3 || seconds === 4) || ((secondOst === 2 || secondOst === 3 || secondOst === 4) && seconds > 20))
{
secondName = 'секунды';
}
else {
secondName = 'секунд';
}
document.getElementById("time").innerHTML = years + " " + yearName + ", " + days + " " + dayName + ", " + hours + " " + hourName + ", " + minutes + " " + minuteName + ", " + seconds + " " + secondName;
}
Функция для подсчета того, сколько времени прошло с указанной даты.
JavaScript начал изучать вчера. Чувствую, что уже можно заканчивать.
Пришлось код урезать, чтобы вместиться в 100 строк. Более-менее читаемый тут: http://dumpz.org/573381/
+155
<input type="text" onblur="if(this.value=='')" "="" paštas')="" el.="" onfocus="if(this.value==" alt="" value="El. paštas" name="email" id="cpnEml">
Зашел значит в е-шоп, решил купить шорты, а тут ещё и скидочка в 5%, только почему-то ввести не получается... Решил посмотреть что не так.
P.S.
Дело в Литве
+152
function Order(obj) {
var frm = $(obj);
var first_name = frm.find("input[name='first_name']").val();
var last_name = frm.find("input[name='last_name']").val();
var email = frm.find("input[name='email']").val();
var phone = frm.find("input[name='phone']").val();
var text = frm.find(".coment-form-textarea").val();
var captcha = frm.find("input[name='captcha']").val();
var valid = true;
MsgErrorDestroy(frm, '#order-first_name', 'input[name="first_name"]');
MsgErrorDestroy(frm, '#order-last_name', 'input[name="last_name"]');
MsgErrorDestroy(frm, '#order-email', 'input[name="email"]');
MsgErrorDestroy(frm, '#order-phone', 'input[name="phone"]');
MsgErrorDestroy(frm, '#order-text', '.coment-form-textarea');
if (first_name == '') {
MsgError(frm, 'Введите ваше имя.', '#order-first_name', 'input[name="first_name"]');
valid = false;
}
if (last_name == '') {
MsgError(frm, 'Введите вашу фамилию.', '#order-last_name', 'input[name="last_name"]');
valid = false;
}
if (!emailValid(email)) {
MsgError(frm, 'Введите ваш email.', '#order-email', 'input[name="email"]');
valid = false;
}
if (phone == '') {
MsgError(frm, 'Введите ваш номер телефона.', '#order-phone', 'input[name="phone"]');
valid = false;
}
if (text == '') {
MsgError(frm, 'Введите ваше сообщение.', '#order-text', '.coment-form-textarea');
valid = false;
}
if (captcha == '') {
MsgError(frm, 'Введите капчу.', '#comment-capcha', 'input[name="captcha"]');
valid = false;
}
if (valid == false) {
return false;
}
}
function MsgError(frm, msg, select_msg, select_input) {
if (select_msg != 0) {frm.find(select_msg).html(msg);}
if (select_input != 0) {frm.find(select_input).addClass('input-error');}
if (select_msg != 0) {frm.find(select_msg).removeClass('hide');}
//frm.find('#'+'profile-'+key).addClass('show');
}
function MsgErrorDestroy(frm, select_msg, select_input) {
if (select_msg != 0) {frm.find(select_msg).html('');}
if (select_input != 0) {frm.find(select_input).removeClass('input-error');}
if (select_msg != 0) {frm.find(select_msg).removeClass('show');}
//$('#'+'profile-'+key).addClass('hide');
}
Валидация какого-то там заказа. Автор вероятно не слышал про массивы и объекты.
+156
checkValidPage:function(){
var c=false;
var d=false;
try{
var a=document.getElementsByTagName('input');
if(a.length!=0)
for(var i in a)
{
if(!c && a[i].type=='checkbox')
c=true;
if(!d && a[i].name=='delsel')
d=true;
if(c && d)
return true;
}
}catch(e){}
return false;
},
+161
if(lvl == 1)
path=1;
else if(lvl == 2)
path=2;
else if(lvl == 3)
path=3;
else if(lvl == 4)
path=4;
else if(lvl == 5)
path=5;
else
{
if(lvl > 5 && !el.length)
path=5;
else
{
if(lvl>=6 && lvl<8)
path=6;
else if(lvl>=8 && lvl<10)
path=8;
else if(lvl>=10 && lvl<12)
path=10;
else if(lvl>=12 && lvl<14)
path=12;
else if(lvl>=14 && lvl<16)
path=14;
else if(lvl>=16 && lvl<18)
path=16;
else if(lvl>=18 && lvl<20)
path=18;
else if(lvl>=20 && lvl<22)
path=20;
else if(lvl>=22 && lvl<25)
path=22;
else if(lvl>=25)
path=25;
ext+=el[0].id;
}
}
В духе лучших традиций коренных народов Индии.
+154
<ul>
<script>
$(function(){
$(".catalog-menu ul li a[href='/newshop/cat_id:12']").parent().addClass("active");
});
</script>
<li class="active">...</li>
<li>...</li>
</ul>
Переделываю один магазин, выполненный на говноcms, в менюшечке увидел это.