Каталог статей
Поиск по базе статей  
Статья на тему Интернет » Интересное в сети » Нестандартные стандарты

 

Нестандартные стандарты

 

 

Старожилы Интернета еще помнят времена «большой браузерной войны», когда на место Netscape Navigator пришел Internet Explorer. Отголоски прошлых битв до сих пор в значительной мере определяют жизнь веб-мастеров и посетителей сайтов — наверняка вы не раз сталкивались со страницами, которые выглядят не просто кошмарно, а практически нечитабельно...

Началось все с того, что всеми нами любимая корпорация Microsoft прошляпила появление Интернета и оказалась совершенно не готова к его огромной популярности. Поэтому основным браузером был Netscape, и все авторы сайтов тщательно проверяли свои страницы на предмет корректного в нем отображения. Когда появился Internet Explorer 2.0 (как его в то время называли — Internet Exploder), на это жалкое подобие браузера мало кто обращал внимание — он почти ничего не умел, «криво» показывал страницы и был достаточно неудобен в работе.

загрузка...

 

 

Допустить провала Microsoft не мог, и началась гонка вооружений — браузеры обрастали все новыми функциями (для пользователей) и возможностями отображения страниц (для авторов сайтов). IE был встроен в операционную систему, что вызвало достаточно резкую критику, но привело к успеху — все меньше пользователей скачивали «альтернативный браузер» — ведь у них уже был один! Но хитрость заключалась в том, что браузеры по-разному показывали одни и те же документы, а следовательно, авторам приходилось либо вешать на сайте кнопку "Best viewed with...", либо создавать по две версии страницы для каждого из браузеров.

С выходом IE5 активная стадия «войны браузеров» закончилась, закрепив лидерство за IE — по данным разных компаний, количество его пользователей оценивается от 80 до 95% от общего числа.

Однако в борьбе за пользователей производители браузеров перестали обращать какое бы то ни было внимание на стандарты — каждый браузер вводил свои собственные расширения HTML, объектной модели и многого другого, «закрывал глаза» на некорректность самих документов, и так далее и тому подобное. Доходило до того, что версии браузера для разных операционных систем по-разному показывали один и тот же документ!

Все это стало создавать заметные сложности как пользователям, так и веб-мастерам. Авторам сайтов приходилось использовать совсем нетривиальные трюки, чтобы добиться одинакового отображения страниц в разных браузерах (а многие этим вообще не занимались, ориентируясь на один — угадайте, какой? — браузер), причем не было никакой гарантии, что задействованные «недокументированные функции» сохранятся и в следующих версиях. Пользователи оказались привязаны к IE, несмотря на то, что «альтернативные браузеры» были и быстрее, и удобнее, и надежнее... И появилась вполне резонная идея — надо все-таки переходить к стандартам. И производители браузеров, включая (о, чудо!) Microsoft, с этим согласились.

Обратная совместимость — одна из основных проблем всей компьютерной индустрииНо тут возникла еще одна проблема, типичная для всей компьютерной индустрии: обратная совместимость. Если браузеры вдруг начнут работать по стандартам и перестанут эмулировать глюки прошлых версий, то огромное число сайтов перестанет правильно отображаться, а пользователи вполне резонно потребуют «вернуть все взад» — им-то нет никакого дела до стандартов, надо просто анекдоты с новостями почитать... И было принято очень мудрое решение — надо сделать так, чтобы каждый браузер мог работать в двух режимах: «обратной совместимости» (он же quirks mode) и режиме совместимости со стандартом — standard mode. И более того, это решение было воплощено в жизнь — в последних версиях всех популярных браузеров.

Для переключения режимов используется SGML-директива !DOCTYPE, которая определяет тип вашего документа и теоретически должна находиться в начале каждого HTML-документа. На практике же мало кто ее использует — как уже говорилось выше, браузеры очень терпимо относятся к ошибкам в документах, и отсутствие директивы DOCTYPE — не исключение. Однако для того чтобы включить режим совместимости со стандартом, вам придется эту декларацию указать и вдобавок позаботиться, чтобы ваш документ действительно соответствовал спецификации.

Типичная декларация выглядит примерно следующим образом:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "/redir.php?url=www.w3.org%2FTR%2FREC-html40%2Fstrict.dtd">

Здесь HTML указывает на первый тег документа; PUBLIC говорит, что это общедоступный ресурс; минус символизирует, что W3C не зарегистрирована в ISO; W3C — название организации — автора спецификации; DTD — тип объекта; HTML 4.01 — название спецификации; EN — язык спецификации (не вашего документа!); и последний URL, которого может и не быть, говорит, где спецификация находится.

При копировании декларации DOCTYPE с других сайтов следите, чтобы URL был правильным — периодически попадаются (в том числе, на сайте W3C) указания на относительные адреса, например:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">

Полный (возможно) список корректных деклараций DOCTYPE можно найти на сайте консорциума W3C по адресу /redir.php?url=www.w3.org%2FQA%2F2002%2F04%2Fvalid-dtd-list.html%3C%2Fa%3E

Transitional — это режим перехода от старого к новому стандарту...Наиболее распространенные на сегодня языки HTML 4.01 и XHTML имеют по три DTD: Strict, Transitional и Frameset. Strict — позволяет использовать в документе только те теги и атрибуты, которые в этом DTD описаны. Transitional — содержит все то же самое, что и Strict, но дополнительно допускает использование «устаревших» тегов, например, <FONT> или <CENTER>. Frameset — это то же самое, что и Transitional, только вместо тега BODY для обозначения тела документа в нем используется тег FRAMESET. Как несложно догадаться, Frameset DTD используется при создании страниц, содержащих фреймы.

Как уже говорилось выше, в зависимости от указанной вами декларации DOCTYPE, браузер будет работать либо в режиме поддержки старых глюков (quirks mode), либо же в режиме поддержки стандарта (standard mode). Чтобы жизнь медом не казалась, разработчики движка Gecko ввели еще и третий режим — Almost Standard — который от стандартного отличается только способом выравнивания ячеек таблиц, в которых содержатся картинки. Если вас этот случай сильно интересует, то подробности можно найти в Mozilla Web Author FAQ.

Подробности о выборе того или иного режима работы в разных браузерах можно найти на соответствующих страницах описаний Internet Explorer, Mozilla и Opera. Если же в подробности не вдаваться, то указание DTD XHTML, HTML 4.0 Strict, XML или неизвестного DOCTYPE включает режим совместимости со стандартом; HTML 4.0 Transitional и Frameset при наличии URL включает «стандартный» режим, а без URL — quirks; отсутствие DOCTYPE или HTML младше 4.0 включает quirks-режим.

Для того чтобы определить, в каком режиме отображается страница, можно использовать простенький Javascript:


<script language="JavaScript" type="text/javascript">
document.write(document.compatMode);
</script>

Если браузер работает в режиме поддержки стандарта, то на странице будет написано «CSS1Compat», а если в режиме «обратной совместимости», то «BackCompat» или «QuirksMode».

Старые браузеры всегда работают в quirks-режимеСледует учитывать еще одну вполне очевидную вещь — так как старые версии браузеров ничего о переключении режимов и стандартах не знают, то они всегда работают в режиме quirks. А это означает, что вам надо либо продолжать писать по-старому, чтобы поддерживать посетителей со старыми браузерами, либо принять волевое решение и начать писать свои страницы в соответствии со стандартом (при этом никто не мешает выводить посетителям предложение обновить их браузер). Фактически веб-мастеры сейчас оказались в положении компьютерных гигантов, которым приходится выбирать — либо сохранять поддержку старых программ, либо внедрять новые технологии, либо искать какой-то компромисс...

При переходе к стандартам в каждом браузере изменится что-то своеВ каждом браузере есть свой набор «частных атрибутов», которые поддерживаются только этим браузером и глюков, простите, «особенностей реализации стандартов». Поэтому при переходе к универсальным стандартам в каждом браузере изменится множество более или менее заметных особенностей отображения разных элементов страницы. Подробные описания различий для Internet Explorer, Mozilla и Opera можно найти на соответствующих страницах, а ниже я попробую перечислить основные моменты, которые будет необходимо учитывать веб-мастерам.

Ширина блоков: по стандарту атрибут width относится к содержимому блока, IE же включал в него еще и поля с рамкой, чего ьеперь не будет. То же самое относится и к таблицам, и к картинкам.

Строгий синтаксис: в режиме совместимости со стандартом веб-мастерам придется внимательно следить за синтаксисом документов. Если раньше можно было не заключать значения атрибутов в кавычки, не указывать единицы измерения и совершать прочие подобные вещи, то теперь это будет ошибкой.

Чувствительность к регистру: по стандарту имена классов и идентификаторов в CSS являются регистрозависимыми и не могут начинаться с цифр.

Наследование в таблицах: таблицы будут (наконец-то!) наследовать свойства текста родителя.

Нарушение стандартов расстрелом не караетсяСледует отметить, что если вы нарушите какие-то правила разметки документов, то ничего страшного не произойдет — на странице не будет сообщений об ошибках, браузер не закричит про недопустимую операцию, и ваш сайт не будет удален с сервера. Просто посетитель увидит страницу не совсем так (или совсем не так), как вы ее задумывали...

Возникает вполне естественный вопрос — надо ли тратить время и усилия на переписывание страниц, если учесть, что довольно заметная часть посетителей все еще использует старые браузеры — ведь можно, особо не задумываясь, переключиться на поддержку самого популярного браузера и не обращать ни на что внимания? Тут каждый решает этот вопрос для себя. Но при принятии решения стоит учесть несколько моментов:

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

Валидаторы — штука очень полезная!А теперь, если вы решились начать переработку своих страниц, загляните на сайт W3C — на странице /redir.php?url=www.w3.org%2FQA%2FTools%2F%23validators%3C%2Fa%3E есть ссылки на различные валидаторы, которые помогут проверить корректность ваших страниц и таблиц стилей. Сообщения, выдаваемые этими валидаторами, достаточно информативны и вполне позволят исправить практически все ваши страницы, не обращаясь к самим стандартам...



Статья получена: hostinfo.ru

загрузка...

 

 

Наверх


Постоянная ссылка на статью "Нестандартные стандарты":


Рассказать другу

Оценка: 4.0 (голосов: 16)

Ваша оценка:

Ваш комментарий

Имя:
Сообщение:
Защитный код: включите графику
 
 



Поиск по базе статей:





Темы статей






Новые статьи

Противовирусные препараты: за и против Добро пожаловать в Армению. Знакомство с Арменией Крыша из сэндвич панелей для индивидуального строительства Возможно ли отменить договор купли-продажи квартиры, если он был уже подписан Как выбрать блеск для губ Чего боятся мужчины Как побороть страх перед неизвестностью Газон на участке своими руками Как правильно стирать шторы Как просто бросить курить

Вместе с этой статьей обычно читают:

Mercedes SLK устанавливает новые стандарты

В 2003 году в борьбу за покупателей дорогих родстеров вступит новое поколение Mercedes SLK, который еще больше укрепит позиции немецкой компании на этом сегменте рынка. Надо отметить, что пока и SLK является одним из самых популярных автомобилей в своем классе, несмотря на довольно высокую цену. Правда, и конкуренты не являются «дешевкой» - BMW Z3 и Audi TT стоят не намного дешевле.

» Немецкие автомобили - 1938 - читать


Lexus ES 350 устанавливает новые стандарты

Компания Lexus представила на автошоу в Чикаго пятое поколение седана ES, которое уже в апреле этого года появится в автосалонах дилеров. Разработанный с нуля, Lexus ES предлагает новый уровень комфорта, безопасности и динамики в сочетании с элегантной внешностью. Дизайнерское ателье Lexus продолжает развивать направление «L-finesse Design», и новое поколение ES станет четвертой моделью, построенной по такой концепции.

» Разное - 2011 - читать


Новая Нива - стандарт или халтура?

Кажется, в следующем году начнут выпускать новую «Ниву». Причем, выпускать по настоящему, а не на Опытно-промышленном производстве в количестве нескольких штук в день – именно так делали «Ниву» до недавнего времени. Слово «делали» не зря стоит в прошедшем времени.

» Разное - 5262 - читать


Новый Фольксваген Поло устанавливает стандарты в классе супермини.

Обводами своего кузова новейший Поло напоминает своих собратьев, крохотного VW Lupo и короткого Golf, и занимает место между ними в модельном ряде компании. Внешность VW Polo IV сильно отличается от предыдущей версии. Рейнсталинг пошел Polo на пользу.

» Разное - 2792 - читать


Предложение WaSP по основным стандартам

Вкратце Консорциум World Wide Web Consortium (W3C) установил стандарты для интерпретации документов, размещенных в Web. Создатели броузеров, выпуская свои продукты, которые не поддерживают единообразно эти стандарты, поступают несправедливо в равной степени по отношению к web-разработчикам, компаниям и пользователям. Из-за отсутствия единообразной поддержки стандартов W3C разработку web-технологий стала излишне трудоемкой и дорогой.

» Хостинг, технологии, домены - 2640 - читать



Статья на тему Интернет » Интересное в сети » Нестандартные стандарты

Все статьи | Разделы | Поиск | Добавить статью | Контакты

© Art.Thelib.Ru, 2006-2024, при копировании материалов, прямая индексируемая ссылка на сайт обязательна.

Энциклопедия Art.Thelib.Ru