ALS студия -
   ...и у Вас есть
свой сайт.   

Четверг, 02.05.2024, 02:10
Приветствую Вас Гость | RSS
Главная | | Регистрация | Вход
» Меню сайта



» Наш опрос
Оцените мой сайт
Всего ответов: 20

» Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

35 000 компаний рекламируют свои товары и услуги здесь!

Главная » 2012 » Июнь » 18 » ПОЧЕМУ ТАК ВАЖЕН DOCTYPE
ПОЧЕМУ ТАК ВАЖЕН DOCTYPE
15:17
Вроде бы вы сделали все правильно, но ваш сайт почему-то не выглядит или не работает, как ожидалось, в последних версиях броузеров. 

Вы написали правильный стандартный XHTML код и стандартный CSS. Вы воспользовались стандартной спецификацией для работы с DOM (Document Object Model), чтобы управлять динамическими элементами на странице. И все-таки, в броузерах, которые казалось бы сделаны с соблюдением именно этих стандартов, ваш сайт не работает. Скорей всего, ошибка кроется в неправильном заголовке DOCTYPE. 

Эта небольшая статья расскажет вам о заголовках DOCTYPE, которые работают, а также объяснит практическое и теоретическое значение этого, казалось бы отвлеченного от реальности, тега. 

Что такое DOCTYPE?

Согласно спецификациям HTML и XHTML тег DOCTYPE (что означает "объявление типа документа") сообщает валидатору, какую именно версию (X)HTML вы используете в своей странице. Этот тег должен всегда находиться в первой строке каждой страницы. Тег DOCTYPE - ключевой компонент web-страниц, претендующих на соответствие стандартам: без него ваш код и CSS не пройдут проверку валидатором. 

Тег DOCTYPE также важен для правильного отображения и работы страницы в броузерах, соответствующих стандартам (Mozilla, IE5/Mac, и IE6/Win). 

Тег DOCTYPE, в атрибутах которого указывается полный URI (полный web-адрес), сообщает броузерам, что страницу нужно вывести с соблюдением определенного стандарта или подвида этого стандарта. 

Если вы будет пользоваться неполным тегом DOCTYPE, устаревшим его видом, или вообще забудете про него, броузер перейдет в "загадочный" режим и будет исходить из предположения, что вы писали код страницы с ошибками и вольно отступали от стандартов, т.е. так, как писали в конец 90-ых годов. 

В этом режиме броузер попытается разобрать вашу страницу по правилам обратной совместимости и выведет на экран, например, CSS так, как его вывел бы Internet Explorer 4-ой версии, а DOM будет работать так, как он работал именно в этом броузере (IE переключается в свой старый DOM, а Mozilla и Netscape 6 переключается вообще в бог знает что). 

Понятно, что для вас эти выкрутасы не желательны. Но именно это вы и получите, если будете пользоваться неполным или неправильным тегом DOCTYPE. Данная статья попробует исправить эту вашу ошибку. 

(Внимание: броузер Opera не играет по таким правилам; он всегда пытается отобразить страницу так, как если бы она соответствовала стандартам. Слава Опере! С другой стороны, Opera пока не полностью поддерживает стандарт W3C DOM, но работа над этим уже ведется.) 

Где же взять правильный DOCTYPE?

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

W3.org - это не сайт со статьями как A List Apart , WebReference или Webmonkey . Он не создан в помощь web-дизайнерам, разработчикам и авторам сайтов, и он не занимается распространением новейшей информации и полезных советов. Это не его задача. 

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

Я могу потратить весь день в поисках правильных тегов DOCTYPE на сайте w3.org, но не найду ни одной страницы, где они перечислены все вместе. Если же вам все-таки удастся найти какой-нибудь тег DOCTYPE (например, упоминаемый в какой-нибудь Рекомендации или Рабочем проекте), скорей всего окажется, что на вашем сайте он работать не будет. 

По всему сайту W3C разбросаны теги DOCTYPE, где в атрибутах отсутствует URI, и теги DOCTYPE, содержащие в атрибутах относительный URI, связанный с документами, находящимися на том же самом сайте W3C. Если вы возьмете этот тег с сайта W3C, перенесете его на свой сайт и вставите в свои страницы, относительный URI будет указывать на несуществующие на вашем сайте документы, следовательно напрасно пропадет ваш труд и усилия броузера. 

Например, на многих сайтах можно встретить в страницах следующий вариант тега DOCTYPE, который был без всяких изменений перенесен с сайта w3.org: 

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

Посмотрите на последнюю часть тега DOCTYPE ( "DTD/xhtml1-strict.dtd" ). Обратите внимание, что это относительная ссылка на документ, расположенный на сайте W3C. Так как целевой документ находится на сайте W3C, а не на вашем, этот URI для броузера бесполезен. 

А выглядеть DOCTYPE должен вот так: 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

Обратите внимание, что этот вариант DOCTYPE содержит в конце полный вариант URI. А так как тег указывает на правильное расположение документа, броузер знает, где этот документ надо найти в сети, и следовательно выведет вашу страницу в том стандарте, который вы упомянули в DOCTYPE. 

Правильные варианты тега DOCTYPE 

Итак, каким же вариантом тега DOCTYPE надо пользоваться? Очень хорошо, что вы задали этот вопрос. Ниже перечислены полные варианты тега DOCTYPE для различных нужд: 

Стандарт HTML 4.01 Strict (строгий), Transitional (переходный), Frameset (с фреймами) 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> 

Стандарт XHTML 1.0 Strict (строгий), Transitional (переходный), Frameset (с фреймами) 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> 

Стандарт XHTML 1.1 DTD 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 

Что дальше? 

Как вы можете внести свой вклад в распространение стандартов в Web? Перво-наперво, поместите в закладки данную страницу (либо просто сохраните ее на своем компьютере), а также проверьте, вставляет ли ваш web-редакторв в ваши страницы тег DOCTYPE, а если вставляет, - правильный ли вариант тега он использует? 

Многие разработчики ПО просто скопировали неполные варианты тега DOCTYPE с сайта W3C в свои программы. И в результате: вы полагаетесь на программу, которая вставляет неправильный вариант тега, броузер впадает в "загадочный" режим, а вы безуспешно бьетесь над загадкой, почему ваши страницы не работают, как надо. 

Стоит также написать тем ребятам, что делают ваш любимый web-редактор, и показать им, как выглядит правильный тег DOCTYPE, после чего, вежливо попросить их внести изменения в новую версию программы. (В некоторых случаях, вы сможете даже внести изменения в программу сами .) 

В ближайшем будущем 

У нас есть все причины надеяться, что W3C скоро выложит полный, точный и удобный список всех вариантов тега DOCTYPE на своем сайте, а также опубликует другую важную информацию. И эту информацию легко будет найти. К стати, в эту статью внес свой вклад Карл Дабост (Karl Dubost) - менеджер W3C по обеспечению качества (Conformance Manager of W3C's Quality Assurance team). 

Кроме того, проект The Web Standards Project скоро будет переделан (очень скоро), и на нем тоже можно будет найти эту информацию. 

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

Удачи! 

Источник: Джеффри Зельдман (Jeffrey Zeldman), перевод, Александра Качанова
Просмотров: 1227 | Добавил: сonsultant | Рейтинг: 5.0/11 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
» Форма входа

» Поиск

» Календарь
«  Июнь 2012  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
252627282930



» Архив записей

Праздники Украины
» Друзья сайта
  • Сайты для малого бизнеса
  • ПОРА МЕНЯТЬ ОКНА
  • РАБОТА в КИЕВЕ
  • БИЗНЕС-ТРЕНИНГИ в Украине
  • Коллекционируем счастье
  • ВСЕ ОКНА и ДВЕРИ в КИЕВЕ
  • ОКНА для ПРОРАБОВ


  • Copyright ALS -design © 2007
    AlfaInternet.su - бесплатная регистрация сайтов в каталогах поисковиках реклама сайтов CO.KZ WebGroup Реклама в службы мониторинга серверов Консультации. Тренинги. Переговоры Дизайнеры.ру - каталог дизайнерских сайтов. Добавить ссылку в каталог!