Разработка универсальноГО РЕШЕНИЯ для Автоматизации работы по устранению проблем с веб-браузером Internet explorer 6 – «True IE6»

Московский государственный институт

электроники и математики

(технический университет), Россия

На сегодняшний день в мире существует более десятка веб-браузеров, и каждому из них необходимо уделять внимание при разработке сайта. Наибольшее количество времени уходит на Internet Explorer 6 (далее – IE6). Это связано с тем, что данный браузер был выпущен в далёком 2001 году и фактически уже несколько лет как мёртв. Помимо морального устаревания, ощутимой проблемой для верстальщика являются грубые нарушения веб-стандартов, присутствующие в этом браузере. В то время как стандарты развиваются, Internet Explorer 6 остается неизменным, и даже пакеты исправлений («патчи») от производителя не приносят кардинальных улучшений. Его доля на рынке всё ещё высока, а это значит, что им нельзя пренебречь, не потеряв при этом существенной доли аудитории.

Время на решение проблем с отображением сайта в Internet Explorer 6 занимает у верстальщика от 10 до 30 процентов общего времени работы над макетом. Такая низкая продуктивность обусловлена все теми же расхождениями механизмов IE6 со стандартами, подчас заставляющими работника включать в HTML-код лишние теги, а в CSS – лишние правила. Подобные меры только увеличивают время загрузки и отображения страницы в других браузерах. Получается, что Internet Explorer косвенным образом ухудшает производительность других браузеров, что не может не радовать отдельных производителей программного обеспечения.

НЕ нашли? Не то? Что вы ищете?

В данных тезисах рассматривается технология автоматизации решения проблем с отображением сайта в браузере Internet Explorer 6 путём разработки соответствующего средства «TrueIE6», освещается востребованность данного решения, средства разработки и методы его применения.

Суть автоматизации заключается в том, чтобы свести всё общение верстальщика с Internet Explorer 6 к одному простому действию – генерации отдельной таблицы стилей на основе общей. То есть, на входе мы имеем чистую, правильную, соответствующую всем стандартам таблицу стилей, а на выходе новую, но уже с правками, которые решают проблемы с Internet Explorer 6.

Чтобы программа-генератор могла выполнять поставленную задачу, необходимо составить полный список ошибок и проблемных мест, выявленных в браузере Internet Explorer 6. На сегодняшний день существуют разрозненные списки различной степени полноты, но ни один из них не может полностью решить все задачи верстальщика, возникающие при работе с упомянутым браузером. Для составления данного списка планируется создать специальный ресурс, который будет принимать и каталогизировать добавленные пользователями отчёты о найденных ошибках и способах их обхода. Идеальным средством для реализации поставленной задачи является Trac Open Source Project, который поможет не только составить перечень ошибок, но и cкоординировать действия разработчиков TrueIE6.

Далее необходимо будет разработать модульную систему, отвечающую за поиск и обработку ошибок IE6 в таблицах стилей. Система должна состоять из компонентов, каждый из которых будет решать ту или иную проблему. В каждом модуле будет содержаться информация об ошибке (т. е. данные о том, как и по какому условию система должна будет идентифицировать данные строки таблицы стилей как соответствующие данной проблеме) и метод решения. Таким образом, работа системы сводится к следующему набору действий:

1.  Загрузка модулей.

2.  Запуск обработки входной таблицы стилей путем передачи ее содержимого первому модулю.

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

4.  Применение модулем модификаторов, позволяющих забыть о проблеме в IE6.

5.  Передача получившейся таблицы другому модулю (переход на шаг 3).

Не секрет, что определенные ошибки невозможно выявить на основании одной лишь таблицы стилей. Для того чтобы в детекторе ошибок не было ошибок, ему необходимо также иметь информацию о структуре гипертекстового документа, к которому применяются стили. Таким образом, помимо CSS-таблицы, необходимо загружать еще и HTML-дерево. За основу реализации данного функционала предполагается взять готовые компоненты (например, встроенный в PHP модуль под названием «Document Object Model»).

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

Предыдущий параграф предполагает раздельную работу модулей. Однако, между ними можно будет выделить немалое количество общих функций. Их следует выносить в API, унифицируя и облегчая написание новых модулей.

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

Необходимо, однако, учесть, что данное решение будет работать только в том случае, если сайт был свёрстан в соответствии со всеми веб-стандартами. Данное условие является необходимым, так как необходимо чётко задать условия, идентифицирующие каждую ошибку. В связи с этим рассматривается встраивание одного из существующих HTML - и CSS-валидаторов для уведомления верстальщика о возможных сбоях работы системы вследствие некорректного кода.

Если полученное решение окажется успешным, то на его основе возможно реализовать решение ещё большего уровня, которое позволит решать подобные проблемы не только в Internet Explorer 6, но и в других мёртвых (т. е. более не поддерживаемых) браузерах, что в ещё большей степени автоматизирует работу верстальщика.

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