IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   "Фичи" и "Баги" или Сделаем опыт общим! (http://www.imho.ws/showthread.php?t=78041)

Hubbitus 20.01.2005 14:14

"Фичи" и "Баги" или Сделаем опыт общим!
 
Тема называется может немного и не очень понятно, но лишь потому что хотелось дать наиболее общее название.

Итак, все программисты, Дизайнеры и т.д. в свойе работе сталкиваются с различными мелочами, когда казалось бы "все правильно" но "работает не так". Или в одном браузере работает нормально, задокументировано что и в другом должно также - ан нет, он почему-то отображает иначе.

Или в языке программирования, что-то не так работает в какой-то ситуации, как должно...

Вобщем ситуации такие не редкость...

Дак вот, предлагаю собирать здесь такие вот мелочи, база по которым сможет просто облегчить жизнь другим, столкнувшимися с подобными "неприятностями". :idontnow: :idontnow:

Чтобы не распыляться на все подряд, ограничим тему следующим: [X]HTML, CSS, DOM, JavaScript, [VBScript], ну и возможно смежные с этим технологии

Внимание: Этот топик посвящен НЕ различию браузеров! Не нужно писать типа - в ААА работает - в ББББ нет.

Также огромная просьба, если не уверены в чем-то, или вопрос, лучше сначала спросить в отдельном топике. Сюда же лучше постить проблему в общем виде, тоесть в минимальном контексте примера (если он вообще нужен) чтобы была ясна ее суть.


==========================================================
Ну и начну:
Случайно выяснилось, что InternetExplorer 6.0 отображает стиль границы dotted точно также kak dashed (при толщине рамки в 1px, за уточнение спасибо Sheryld)
----------------------------------------------------------
RaZEr:
IE 6.0: игнорирует padding при задании height (должно быть: padding+height)

RaZEr 20.01.2005 17:18

IE 6.0: игнорирует padding при задании height (должно быть: padding+height)

EvroStandart 21.01.2005 17:07

в PHP пишу:
$x--;

Апач заходит в бесконечный цыкл. :(

Hubbitus 21.01.2005 17:35

Цитата:

EvroStandart:
в PHP пишу:
$x--;
Апач заходит в бесконечный цыкл.
Ну вопервых наверное PHP, а не Апач.
А во-вторых, прошу конкретизировать версию PHP, Апача и всего остального, чтобы наблюдать этот Баг. Вроде бы PHP нормально работает с операциями постинкремента/декремента. Проверил это утверждение на PHP 5.0.0. и Апач - 2.0.40 - проблемы нету!. Также ее нету на PHP 4.2.2 и томже апаче.

RaZEr 21.01.2005 18:05

rh.redora2/httpd 2.0.52/php5.0.3
rh.redora2/httpd 2.0.52/php5.0.3rc1
winxp.sp2/httpd 2.0.52/php5.0.3

так же не наблюдаю проблемы.

Sheryld 21.01.2005 21:00

Цитата:

Hubbitus:
Ну и начну: Случайно выяснилось, что InternetExplorer 6.0 отображает стиль границы dotted точно также kak dashed
это не совсем так, это получается если только размер border-а задан как минимальный(1px).

попробуй этот код:

Код:

<style>
.line0
{
  border:3px dashed #000000;
}
.line1
{
  border:3px dotted #000000;
}
</style>

<div class=line0>
&nbsp;
</div>
<BR>
<div class=line1>
&nbsp;
</div>

p.s. полезность этой темы сомнительна, т.к. слишком мало авторитетного народа. и к тому же для всех более менее серезных проектов есть что-то подобное:

http://bugs.php.net/

p.p.s.

decrement bugs, etc:

http://bugs.php.net/search.php?searc...ail=&bug_age=0

RaZEr 21.01.2005 21:25

Цитата:

это не совсем так, это получается если только размер border-а задан как минимальный
4 из 5 случаев это как раз 1px.
Цитата:

т.к. слишком мало авторитетного народа
Особого авторитета для этого не нужно. Ошибку/недочет может заметить любой, кто что-либо создает.
Цитата:

и к тому же для всех более менее серезных проектов есть что-то подобное:
Да вот понимаешь, не нашли. Конечно на офсайтах браузеров всё есть, но не у всех есть время копаться в манах для каждого браузера в отдельности.

Hubbitus 21.01.2005 22:03

Цитата:

Sheryld:
это не совсем так, это получается если только размер border-а задан как минимальный(1px).
Дельная конкретизация бага, спасибо. (Только вполне достаточно было этого, я думаю подобный приведеннму тобой пример смог бы сделать каждый :p )
Цитата:

Sheryld:
p.s. полезность этой темы сомнительна, т.к. слишком мало авторитетного народа. и к тому же для всех более менее серезных проектов есть что-то подобное:

http://bugs.php.net/
Будет уже не плохо, если это поможет хоть кому-то, да и самим людям просто чтобы не спотыкаться повторно о те же самые грабли. А о багрепортах конечно не забыли, но во-первых там настолько много всего что найти то что нужно достаточно сложно, но главное даже не это: я в свое время гашел ошибку в PHP (4.2 какой-то версии, сейчас не актуально поэтому здесь не пишу), собирался ее туда запостить, собирался, собирался.... так и не запостил. Вобщем давно ее конечно исправили. И я думаю таких людей много, которым лень туда писать, а вот собирать подобные вещи, если они хоть кому-то (прежде всего нам самим) помогут, помоему полезно.
И потом, не всегда это ошибки могут быть, и там ты не найдешь такого, скажем "странного" поведения, поскольку там только "баги", а "фичи" будут у нас эксклюзивны... :p

EvroStandart 22.01.2005 11:40

Цитата:

Hubbitus:
прошу конкретизировать версию PHP, Апача и всего остального, чтобы наблюдать этот Баг.
Apache/1.3.27 (Win32) PHP/4.3.0. Всё это в пакете Денвер установленном на WIN XP prof SP1

RaZEr 22.01.2005 13:48

2 Hubbitus: Может стоит определиь список технологий о которых будем говорить?

V0iD 22.01.2005 13:56

Internet Explorer отчего-то очень внимательно относится к переносам строк в html-коде. Конкретных примеров не могу привести, но часто это всякие сдвиги, ненужные строки высотой ~1px над картинками и т.д...

RaZEr 22.01.2005 14:03

Цитата:

Internet Explorer отчего-то очень внимательно относится к переносам строк в html-коде
Да. Он воспринимает символы переноса строки как текстовые ноды. Это вполне нормально.

Hubbitus 22.01.2005 14:19

Цитата:

RaZEr:
2 Hubbitus: Может стоит определиь список технологий о которых будем говорить?
Да, наверное стоит как-то конкретизировать. И может создать для обсуждения отдельный топик, а в этом только результат, чистую "Базу"? И тогда попросим тебя следить за чистотой его (обсуждения все будешь переносить в него, если они возникают), а просто лишние удалять, думаю никто не против?

Кстати, с этим наверное многие сталкивались, но всеже: Хотя в стандарте определено что закрывающий тег </td> необязателен и в большинстве случаев все нормально без него, но если в ячейке присутствует только картинка, то IE, обрабатывает это не верно, и даже при прописывании жестко размеров ячейки, высота ее немного больше (расползается дизайн).

RaZEr 22.01.2005 16:07

Цитата:

И может создать для обсуждения отдельный топик, а в этом только результат, чистую "Базу"?
Раз уже здесь начали обсуждать, то создавать топик надо именно под отдельную базу. Когда накопится побольше багов, я этим займусь.

Hubbitus 22.01.2005 16:33

Цитата:

RaZEr:
Раз уже здесь начали обсуждать, то создавать топик надо именно под отдельную базу. Когда накопится побольше багов, я этим займусь.
Ну раз уж обсуждаем, то обсудим и как это сделать все лучше. Вообще можно просто править шапку, вынося конкретику, послее обсуждений и подтверждений (так делается во многих топиках на этом форуме). Поидее так даже лучше получится - есть утверждения и всегда можно посмотреть их обсужения, и возможно иногда пути обхода самые красивые...

А что насчет списка, того что хотим здесь иметь? Какие у всех есть предложения?

RaZEr 22.01.2005 16:38

Цитата:

Вообще можно просто править шапку, вынося конкретику, послее обсуждений и подтверждений
Хорошо, - пусть будет в шапке. Если не влезет - в отдельный топ.

Цитата:

А что насчет списка, того что хотим здесь иметь? Какие у всех есть предложения?
[X]HTML, CSS и JS. Вроде всё. Можно ещё VBScript добавить, но как-то он последнее время неудел.

MeatEater 23.03.2005 01:58

imho кривое наследование
 
Не знаю, в тему ли это. Однако:

Есть HTML-страница с внешним файлом CSS. В CSS для BODY прописаны стили текста и стили гиперлинков. Так вот, если на странице есть таблица, то она получает стили только для гиперлинков, а для обычного текста - нет.

Я бы считал логичным, что таблица лежит в пределах BODY и должна получать и стиль для текста тоже.

Имел этот баг давно, и сейчас имею (или он меня) на XP Pro SP1 + IE6.0.x SP1

Решение простое есть - в CSS пишешь стили для таблицы. Но ПОЧЕМУ?

Stormbr!nger 08.04.2005 00:41

Удвоение отступов
 
<div style="float: left; width: 200px; background:#ebebeb; margin-left: 100px;">Some text</div>

В ИЕ отступ слева для блока будет ровно в два раза больше указанного. Лечится добавлением display: inline в style.

RaZEr 08.04.2005 00:53

И ещё про css:float...

В ИЕ отодвигается содержимым блока. Т.е. если внутри блока содержащего блок с float есть другие блоки, то они могут сдвинуть блок с float.

PS: Проверялось на IE 6.x

Asgard 08.04.2005 18:22

Poison NULL byte в Perl -- вроде штука известная, но просматривая множество чужих скриптов я не встретил ни в одном из них механизма защиты от этого бага(хотя во многих из них она была очень нужна).

Perl считает \0 разделителем строки, поэтому если в строке типа:
script.pl?html=one
(допустим скрипт добавляет в конец one '.html')
подставить вместо one script.pl и добавить после него %%0, то удастся просмотреть код скрипта, что не есть хорошо. Поэтому следует включить фильтр типа s/\\0//g;

Bouton 25.10.2005 19:58

Скажите, люди добрые, ПОЖАЛУЙСТА, а почему у меня в Mozille все буквы "Я" в меню(меню сайта, не Мозиллы) кривые и не отображаются часы(явский скрипт) :contract: !Меню-тоже Javascript! :confused:

Die_Slogan 24.02.2006 15:13

Цитата:

Сообщение от EvroStandart
Apache/1.3.27 (Win32) PHP/4.3.0. Всё это в пакете Денвер установленном на WIN XP prof SP1

А как насчет участка кода? А-то я в жизни такой баг не наблюдал.

EvroStandart 26.02.2006 12:53

Цитата:

Die_Slogan:
А как насчет участка кода? А-то я в жизни такой баг не наблюдал.
код был самый обычный. Пробовал типа такого: $x = 5; $x--;
И это не работало.

Juncle 26.02.2006 12:59

Цитата:

EvroStandart:
код был самый обычный. Пробовал типа такого: $x = 5; $x--;
Что значит в бесконечный цикл?
Какое было условие выхода из цикла?
И этот код:
$x = 5; $x--;
был внутри цикла?

EvroStandart 01.03.2006 12:24

Я сейчас уже точно не помню какой код там был. Помню что выводил что-то на экран.
Может быть $x-- было в цикле, может я писал echo $x--;
В результате апач выводил в броузер бесконечное повторение моей строчки.

Всё это было давно и неправда. :cool:

uerter 18.03.2006 00:55

Люди, извините если я не в тему! но у меня есть проблема с Perl овским скриптом, тоесть движком от чата, значит я хочу его запустить нажимаю на ссылку чтоб запустить его а там выдает мне ошибку такого содержание:
Prototype mismatch: sub main::ctime: none vs (;$) at /usr/local/lib/perl5/5.8.7/Exporter.pm line 65.
at ./daemon.pl line 55
что мне надо делать?
Это в Voodo chat! просто незнаю я в перл не шарю вот прошу у вас помощи...! За ранее благодарен!

он_Кофе 22.03.2006 21:06

Iframe и Opera
 
такой пример есть две ячейки
<tr>
<td></td>
<td></td>
</tr>

в первой название меню, во второй подменю,
....
<script language="JavaScript">
function showdiv(id, num) {
document.getElementById(id).style.display = num ? "block" : "none";
}
</script>
....
<tr>
<td onMouseOver="showdiv('1', 1)" onMouseOut="showdiv('1', 0)">название меню</td>
<td>
<div id="1"><iframe src=""></iframe></div>
</td>
</tr>

Задача в том чтобы при наведении курсора на первый пункт меню, слева появлялось подменю... Везде работает, но опера не хочет работать: подвожу курсор, подменю появляется, но как только я хочу навести на него мышкой, оно сразу исчезает, хотя во всех других броузерах все нормально... Если убрать <iframe> то и в Opera все нормально работает, но без <iframe> нельзя, так как когда рядом с меню появляются элементы форм, или flash-анимация, то они накладываются на появляющийся слой - пробовал z-index не спасает... спасает только <iframe>... Как быть с Opera?

Hubbitus 23.03.2006 10:51

он_Кофе ну если говорить о БАГе, то похоже на то в данном случае, только сформулировал бы я это так: При срабатывании события onMouseOver на объекте, если в обработчике этого события меняется этот объект (в данном случае размеры), то Опера (проверил на 8.53) почему-то, не смотря на то что указатель мыши остается над ним, генерирует для него событие сразу onMouseOut.

Ну а что касаемо Вашей проблемы, то лечится она элементарно несколькими способами, суть которых одна - не изменяйте объект, на котором срабатывают эти события в обработчиках, ну и как варианты навскидку (проверил):
1) div сделать не в этой таблице, а обсалютно позиционируемым
2) Сделать не див скрытый, а отдельную табличку скрывать рядом.

он_Кофе 24.03.2006 14:14

Hubbitus,
Абсолютное позиционирование в моем случае не пожходит, так как время от времени на самом верху у меня появляется баннер... тогда придется под каждый банер менять абсолютное позиционирование...

попробовал убрать div и скрывать табличку рядом... что-то не работает...

проблема-то в том что Opera скрывает не div когда на него переходишь.... Я пробовал сделать div более широким и туда помещал справа IFRAME так вот когда курсор наводишь на пункт меню, появляется скрытый div - подменю... по мену перемещаешься.. все нормально... но как только курсор попадает на то что загружено в IFRAME то Opera сразу скрывает div (который содержит этот самый IFRAME) , но такая проблема только в Operaююю Как быть?

Necromancer 01.11.2006 23:22

Нашел прикольный скрипт:
Непослушные картинки

Значит открыв любую страницу, желательно где мало картинок, в окне адреса напишим:
Код:

javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24;x4=300; y4=200; x5=300; y5=200; DI=document.images; DIL=DI.length;function A(){for(i=0; i<DIL; i++){DIS=DI[ i ].style;DIS.position='absolute'; DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5;DIS.top=Math.cos(R*y1+i*y2+y3)*y4+y5}R++ }setInterval('A()',5); void(0);


Часовой пояс GMT +4, время: 02:53.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.