Internet Explorer убивает

В буквальном смысле — тем что тратит время жизни тем, что вынуждает бороться с его багами.

В данном конкретном случае столкнулся с багом, о котором до этого ни разу нигде не читал и не слышал. Более того, уже после решения проблемы поиском в Гугле так найти почти ничего и не смог. Хотя, возможно, плохо искал, так как ситуация достаточно неочевидная и нечастая… Примеры кода есть по ссылке приведенной ниже, а в тезисах суть следующая. Имеем div с содержимым, которому изначально присвоен некий скрывающий его со страницы класс, типа такого:

.ui-tabs-hide {
left:-15000px;
position:absolute;
top:-15000px;
visibility:hidden;
}

Потом посредством JavaScript этот класс с блока убирается, но содержащиеся внутри div’а таблицы остаются невидимыми (иногда частично — границы есть, а содержимого — нет, что уж совсем футуристично).

Описание проблемы с примерами дается тут — http://wiki.orbeon.com/forms/doc/contributor-guide/ie-bugs (пункты 2.1.4, 2.1.5). Сам столкнулся с этим багом при работе с модулем Tabs для Drupal, в котором все реализовано посредством JQuery UI Tabs. По приведенной ссылке предлагается вносить изменения в код JavaScript, но мне лезть во внутренности JQuery не хотелось (возможно, проблема решения в новых версиях JQuery UI Tabs, т.к. в комплекте модуля идет 1.6, но обновляться не хотелось, так как могли вылезти какие-нибудь новые грабли, связанные с несовместимостями самого Drupal’а, а мне срочно надо было решить вопрос), поэтому подумал и добавил в вышеприведенный класс для скрывания блока строчку «display: none;«, что полностью решило проблему и IE6/7 стали нормально отображать таблицу внутри div’а.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *