>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Проблемы с сайтами http://forum.mozilla-russia.org/viewforum.php?id=24 >Некорректная обработка тега http://forum.mozilla-russia.org/viewtopic.php?id=8992 |
Jekk-A > 15-03-2006 18:59:35 |
Давно уже заметил, что когда захожу на некоторые сайты частенько некорректно отображается панель выбора тега <SELECT>! Если просмотреть исходный код, то просто не обнаруживается никакого выбора: Выделить код Код:<SELECT id="client" name="client" style="background-color: #EDF3FA; font-size: 11px; color: #002952; "> <OPTION VALUE="hotmail.ru">hotmail.ru</OPTION> </SELECT> А если просмотреть исходный код через explorer, то видно следующее: Выделить код Код:<td><SELECT id="client" OnChange="JavaScript:ChangeAction();" name="client" style="background-color: #EDF3FA; font-size: 11px; color: #002952; "> <OPTION VALUE="none">-- выберите домен --</OPTION> <OPTION VALUE="1" >orc.ru</OPTION> <OPTION VALUE="newmail.ru" >newmail.ru</OPTION> <OPTION VALUE="hotmail.ru" selected>hotmail.ru</OPTION> <OPTION VALUE="nm.ru" >nm.ru</OPTION> <OPTION VALUE="nightmail.ru" >nightmail.ru</OPTION> </SELECT> Причем, если сохранить исходный код от экплорера и открыть лисицой-все ОК! И тем не менее, мне кажется, что дело в свойстве тега <OPTION> "selected", так как на той же странице другой список выбора работает корректно а код его такой: Выделить код Код:<SELECT name="GoTo" OnChange="JavaScript:window.location.href=document.move.GoTo.value;" style="background-color: #EDF3FA; font-size: 11px; color: #002952;"> <OPTION VALUE="http://www.orc.ru/index.dhtml">-- быстрый переход --</OPTION> <OPTION VALUE="http://www.orc.ru/access/dialup.dhtml"> Коммутируемый доступ</OPTION> <OPTION VALUE="http://www.orc.ru/voip/index.dhtml">Телефония</OPTION> <OPTION VALUE="http://www.orc.ru/access/leased.dhtml">Постоянное подключение</OPTION> <OPTION VALUE="http://www.orc.ru/online/newhost.dhtml">Виртуальный хостинг</OPTION> <OPTION VALUE="http://www.orc.ru/online/domain.dhtml">Регистрация доменов</OPTION> <OPTION VALUE="http://www.orc.ru/pay/dealers.dhtml">Операторы ОРЦ</OPTION> </SELECT> Из чего я и сделал такие выводы! ЗЫ: Кстати, вот сайт, на котором он был замечен: www.hotmail.ru |
Yan > 15-03-2006 19:17:30 |
Firefox прекрасно работает с тегом select. Но к сожалению таких сайтов в интернете много, и работать с ними всё равно приходится. Часто помогает расширение User Agent Switcher. |
Jekk-A > 15-03-2006 19:51:43 |
Yan пишет
Да! Действительно, с установкой данного расширения эта проблема решилась-Вы оказались правы! Но существует другая ситуация-это работа со всплывающим меню! К примеру, на сайте www.profclub.ru вверху, в шапке, находится небольшая навигационная менюшка. При наведении в ЭксплорЭре, на некоторые слова, появляется всплывающее меню! Но в лисице ЕГО НЕТ!!! Был бы очень признателен за объяснение данного ньюанса, ИМХО данная особенность точно связана с интерпретацией html кода!!! Выделить код Код:<A onmouseover="showNav('portals',186);" onclick="if (NIE) window.event.cancelBubble=true; return false;" href="">О компании</A> И javascript код: Выделить код Код:function showNav(name,X) { if (navFade) { clearTimeout(navFade); navFade=null } if(nameShown!=name) { X+=Math.round(((NNN)?window.innerWidth-16:((NIE)?document.body.clientWidth:0)))-800; if (navShown) hideNav(); if (NNN) { document.layers["kmnav"+name].top=37; document.layers["kmnav"+name].left=X-15; document.layers["kmnav"+name].visibility="show"; }else if (NIE){ document.all["kmnav"+name].style.top=37; document.all["kmnav"+name].style.left=X-15; document.all["kmnav"+name].style.visibility="visible"; } nameShown = name; } if(NNN) navFade=setTimeout("hideNav();",10000); navShown=true; return true; } |
Yan > 15-03-2006 20:10:51 |
Если смотреть на код, то сразу бросается в глаза использование недокументированных свойств document.layers и document.all. Надо обращаться к разработчкикам сайта, чтобы переписали код в соответствии с общепринятыми стандартами. |
Al_H > 15-03-2006 20:43:09 |
Меню написано еще в прошлом веке, ну максимум - до 2001 года. В JavaScript-консоли написано, что document.all - эксклюзивное и нестандартное свойство. Выделить код Код:function gElId(eId) {return ((document.getElementById)?document.getElementById(eId):((document.all)?document.all[eId]:null));} |
Unghost > 16-03-2006 00:00:27 |
==> Проблемы с сайтами |