7 заметок с тегом
bugs РСС
25 января 2012, 15:52
ИЕ8 и тени со скругленными уголками вместе
Для тени очень хорошо работает свойство фильтр, но как только пытаешься применить к блоку с тенью какой нить хтц плагин для скругленных уголков или дд_раунди, это блок и разработчик тоже получают дикий баттхерт, потому что тень теперь у текста, блок стал выше на длину тени, но зато есть уголки. Пришлось на коленке писать приблуду, которая почему-то не хочет работать в ИЕ7, нужно наверное там джиквери с 1.4.2 обновить до 1.7.1
<!--[if lte IE 8]>
<script type="text/javascript" src="<?=SITE_TEMPLATE_PATH?>/roundie.js"></script>
<script type="text/javascript">
if (document.all) {
DD_roundies.addRule('.div-onmain .n-det, .div-onmain .news-list, #t-m ', '3px');
}
$(document).ready(function() {
$(".div-onmain .news-list, #t-m").each(function(){
var
w = $(this).innerWidth(),
h = $(this).innerHeight();
$(this).css({
"z-index":3,
"overflow": "visible",
"margin-top": -h*1+15 + "px"
});
$(this).parent().css({
"z-index":1
});
$(this).before(
$("<div class='shadow'>­</div>").css({
"z-index":2,
"margin-top": "-15px",
"overflow": "hidden",
"width": w,
"height": h,
"overflow": "visible"
})
);
});
$(".shadow").css({
"background": "#fff",
"filter": "progid:DXImageTransform.Microsoft.Shadow(color='#EEEEEE', Direction=0, Strength=15)"
});
});
</script>
<![endif]-->
3 комментария6 мая 2011, 13:35
MySQL: error #1235
Когда пытаешься выполнить например такой запрос:
Получаешь чудо ошибку. Ошибка эта гласит:
Когда идём в мануал, там сразу же лежит решение. Нам просто нужно использовать АЛИАС, что бы бля сделать тоже самое:
UPDATE `learn_answer` SET `QUESTION_ID` = QUESTION_ID - 1 WHERE `learn_answer`.`ID` IN ( SELECT ID FROM `learn_answer` WHERE `QUESTION_ID` > 367 )
Получаешь чудо ошибку. Ошибка эта гласит:
#1235 - This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
Когда идём в мануал, там сразу же лежит решение. Нам просто нужно использовать АЛИАС, что бы бля сделать тоже самое:
UPDATE `learn_answer` SET `QUESTION_ID` = QUESTION_ID - 1 WHERE `learn_answer`.`ID` IN ( SELECT * FROM ( SELECT ID FROM `learn_answer` WHERE `QUESTION_ID` > 367 ) Alias )
14 апреля 2011, 8:33
Новый PHP новые правила :) Лечим быстро растущий еррор_лог
На одном проекте, написанном н-лет назад обновили апачь+пхп+мускул+нгинксс, и скорость толстения логов просто поражала. Например за сутки лог апача из-за ошибок пхп выростал до 2ух гиг :)
За 1 заход простого юзера плюс 1-20МБ, это конечно замечательно, но нужно было как-то «пофиксить». Самым толстым ворнингом был такой:
Пхп, просто хотел знать дефаулт тайм-зоун, и ругался на все функции которые работают с датой :) В начале «главного» скрипта пишем:
Следующий ворнинг:
Это значит что, эти функции ereg()/eregi()/ereg_replace() нихт_арбайтен, то есть не работают, вообще. Да, в новом пхп их убили, почитать что убили можно здесь
«-Что же делать?», воскликнет читатель. Есть два пути.
За 1 заход простого юзера плюс 1-20МБ, это конечно замечательно, но нужно было как-то «пофиксить». Самым толстым ворнингом был такой:
Warning: strtotime()/strftime()/date() [function.strftime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier.
Пхп, просто хотел знать дефаулт тайм-зоун, и ругался на все функции которые работают с датой :) В начале «главного» скрипта пишем:
date_default_timezone_set('UTC');
Следующий ворнинг:
PHP Deprecated: Function ereg()/eregi()/ereg_replace() is deprecated in *
Это значит что, эти функции ereg()/eregi()/ereg_replace() нихт_арбайтен, то есть не работают, вообще. Да, в новом пхп их убили, почитать что убили можно здесь
«-Что же делать?», воскликнет читатель. Есть два пути.
- заменить все дохлые функции живыми аналогами
// Все меняем на preg_match ereg("\.([^\.]*$)", $this->file_src_name, $extension); preg_match("/\.([^\.]*$)/", $this->file_src_name, $extension); // да, на preg_match $this->file_dst_name_body = ereg_replace("[^A-Za-z0-9_]", "", $this->file_dst_name_body); $this->file_dst_name_body = preg_replace("/[^A-Za-z0-9_]/", "", $this->file_dst_name_body); // тут появится модификатор regexpа eregi("\.([^\.]*$)", $this->file_src_name, $extension); preg_match("/\.([^\.]*$)/i", $this->file_src_name, $extension);
- в настройках включить поддержку старых функций, которая отрубает поддержку новых
mbstring.func_overload = 7
10 марта 2011, 13:49
Мускул апдейт, ORDER BY RAND() не работает / not work
После обновления мускула, просто перестал работать такой запрос, все время одно и тоже число :)
Вместо NOW() можно вставить и UNIX_TIMESTAMP(), но блин, может и не помочь, если часто обращаться.
SELECT * FROM your_table ORDER BY RAND() LIMIT 1; #Теперь нужно так: SELECT * FROM your_table ORDER BY RAND(NOW()) LIMIT 1;
Вместо NOW() можно вставить и UNIX_TIMESTAMP(), но блин, может и не помочь, если часто обращаться.
30 ноября 2009, 5:24
BUGS: Positon absolute не работает в ИЕ6?
Досадная штука этот ИЕ6. Стал забывать о нём (и не зря, за 2 года упал с 65% до 11%), но он всегда вылазит где-то %) И нужно с ним бороться, опять и опять.
В этот раз все банально просто, блок непосредственно в боди, с {positon:absolute}, становится длиной 100% и просто поверх всего. После долго-го рытья по гуглу, оказывается что нужно сделать body{positon:relative}, и только тогда он начинает себя нормально вести :)
За одно исправил свой HabraAlert, теперь он 0.1.1 :)
В этот раз все банально просто, блок непосредственно в боди, с {positon:absolute}, становится длиной 100% и просто поверх всего. После долго-го рытья по гуглу, оказывается что нужно сделать body{positon:relative}, и только тогда он начинает себя нормально вести :)
За одно исправил свой HabraAlert, теперь он 0.1.1 :)
16 ноября 2009, 23:13
CSS: Основные баги ИЕ
1. Не работает центрирование с margin: 0 auto; — используем text-align
2. Видишь лесенку блоков, двойной margin, в фоне списков проблемы — display: inline;
3. Минимальная высота блока не минимальна — font-size: 0; или overflow: hidden;
4. Overflow не работает — position: relative;
5. Не кушает padding — используй хак для высоты или ширины
6. Не работает min-height — height:auto !important; height: yourminheight px;
2. Видишь лесенку блоков, двойной margin, в фоне списков проблемы — display: inline;
3. Минимальная высота блока не минимальна — font-size: 0; или overflow: hidden;
4. Overflow не работает — position: relative;
5. Не кушает padding — используй хак для высоты или ширины
6. Не работает min-height — height:auto !important; height: yourminheight px;
28 июня 2008, 14:02
Mozilla(firefox) javascript problem with the assignment width or height
В мозиллке (фаерфоксе — Mozilla Firefox) когда добавляешь/изменяешь джаваскриптом длину(width), высоту(height) или другой параметр в пикселях(px), он не работает :( и получаешь ошибку ксс «параметр задан неправильно или не установлен» («The parameter is incorrect»). Всего лишь нужно вконец величины дописать «px» :)
Вот так:
Вот так:
id.style.width = somewidth + 'px';
