Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Загадочная кроссбраузерность


   Выпуск No 12

 

Загадочная кроссбраузерность

А загадочного здесь ничего нет. Кроссбраузерность (от англ. cross-browser) сайта  это одинаковое отображение вашего сайта в разных браузерах. То есть, если Ваш сайт сверстан кроссбраузерно, то  он будет одинаково выглядеть и правильно функционировать в разных браузерах. А если нет –то наоборот…
Откуда пришла на нас эта напасть?  А из 90-х годов. В это время меду фирмами, производителями браузеров развернулась жестокая конкуренция, сильно смахивающая на войну. Которую, кстати, так и назвали – «война браузеров». В ходе этой войны, разработчики стали включать в свои программные продукты, так называемые  «нестандартные возможности». Естественно, это вылилось в то, что сайт, который был создан под какой-то браузер, некорректно отображался в другом. Не работали некоторые функции, «сбивалась» верстка  и.т.д.

Вообще-то, существует консорциум под названием  W3C (World Wide Web Consortium). Его задача создание стандартов в языках html и  css. По идее, все кто создает сайты, какие-то web программы, должны делать это с соблюдением этих стандартов.  В  том числе и фирмы, создающие браузеры. Так должно было быть по идее. Но проблема в том, что эти фирмы не только по-разному интерпретируют html и xhtml коды, но и не горят желанием сотрудничать с W3C.  Все это выливается в то, что одна и та же страница сайта, в разных браузерах может отражаться по-разному. Это «по-разному»  может быть разным. От несоответствия мелких деталей и до того, что сайт разваливается совсем. И это свинство, является головной болью всех, кто занимается созданием сайтов.  

К сожалению, лидирует в этом «чемпионате» по несоответствию стандартам самый популярный браузер - Internet Explorer. Да и остальные не безгрешны.

Как же добиться  кроссбраузерности сайта хотя бы в самых популярных браузерах?  Сначала, давайте  определимся, кто тут у нас самый популярный. Перечисляю поименно, по степени популярности в русском Интернете: Internet Explorer, Firefox, Safari, Chrome, Opera, Netscape.

Какие методы применяют для решения  проблемы кроссбраузерности?  Прежде всего, обычными средствами css. И если этого не достаточно, то на помощь могут прийти так называемые css хаки. Хаки – это обыкновенное форматирование элемента страницы, но с точным указанием браузера, для которого это форматирование выполняется. Для каждого браузера имеются свои собственные хаки, с помощью которых можно добиться практически полной  кроссбраузерности. Сами хаки можно найти в Интернете. Ресурсов, посвященных хакам и их применению вполне достаточно.
Для укрощения   Internet Explorer применяют так называемые условные комментарии. Условные комментарии действуют только в Internet Explorer  совместно с  операционной системой  Windows.  Они великолепно подойдут  для написания специальных команд адресованных Internet Explorer.  Эти команды поддерживаются, начиная с версии Internet Explorer 5 и выше.  

Выглядят условные комментарии так:

<!--[if IE 6]>Инструкции для IE 6<![endif]-->

Как видите, их основная структура такая же,  как и  принятая, в html комментариях: 

(<!––   ––>)

Вследствие этого остальные браузеры будут принимать условные комментарии за простые комментарии и будут их полностью игнорировать.
Internet Explorer, надо полагать, был запрограммирован на распознание специального синтаксиса <!––[if IE]>, на решение условия if и и на то, чтобы парсить содержимое условного комментария таким образом, как если бы это было содержанием обычной страницы.
Так как в условных  комментариях  используется синтаксис html комментариев, то они могут включаться  только в html страницу и не могут быть включенными  в CSS файл. Что не очень хорошо, но тут уж ничего не поделаешь.
О слове парсить. Может не все понимают о чем идет речь. Есть такие программы или функции – парсеры. Их назначение разбор текста на  составляющие элементы. Процесс разбора и есть парсинг. К примеру, самый обычный текст  можно разобрать на абзацы, предложения, а так же на слова и знаки препинания.  Текст html можно разобрать на теги, атрибуты тегов, имена тегов и атрибутов и так далее. 

Я понимаю, что если Вы только начинаете делать свой сайт и опыта у Вас маловато, то все эти рассуждения о кроссбразурности могут повергнуть вас в меланхолию. Ну, во-первых, никто не говорил, что будет легко, а во-вторых,  я Вам посоветую, как сделать сайт не заморачиваясь этими хаками и условными комментариями. В том числе и из собственного опыта.   

Есть интерес?

Заходите на страницу сайта - Вы еще не знаете, что такое кроссбраузерность?

Здесь Вас ждет полная версия статьи. Надеюсь информация изложенная в ней окажется для Вас полезной!  Успехов в создании сайта!

© Все права защищены. Копирование материалов - при обязательном указании авторства и ссылки на первоисточник

 У Вас проблема с выбором хостинга? Может ЭТО то, что Вы ищете?


В избранное