Вход
Быстрая регистрация
Если вы у нас впервые: О проекте FAQ
2

Почему "неправильно­" написанные сайты отображаются браузерами нормально?

Gennadij [26.4K] 7 лет назад

Просмотрел вводные уроки по HTML. В одном, прозвучала фраза: сайты нужно писать правильно (в соответствии со стандартом языка), но в большинстве случаев, это не делается, и тем не менее, сайты смотрятся вполне адекватно. Почему так происходит?

dank4ik [916]
браузер считывает код и пытается привести к стандартному виду)как нужно)  7 лет назад
Gennadij [26.4K]
т.е, он как бы "помнит" разные версии языка (и их отличия)?  7 лет назад
dank4ik [916]
именно так.Если сайт не правильно написан,он пытается изменить на стандартный вид..  7 лет назад
Gennadij [26.4K]
Спасибо!  7 лет назад
комментировать
2

Страдает http://www.w3.org/ манией стандартизации.

http://validator.w3.org/ здесь можно проверить страницу на соответствие стандартам.

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

Обозреватели делаются с расчетом на непрофессионализм пользователей, возможные ошибки в разметке - т.е. достаточно простые страницы не будут иметь разницы в отображении, а вот сложные страницы (обычно содержащие Java скрипты или оформление через таблицы стилей CSS или работу со слоями) могут и пострадать, поскольку даже при наличии стандартов старые версии обозревателей до сих пор поддерживают. Например если Internet Explorer в прежних версиях поддерживал обращение к переменным через обычную запись вида document.переменная.value то с какой радости отказываться от этого простого способа в пользу document.getElementById('id_переменной').value ? Каждый обозреватель обладает своими "фишками", тут уж ничего нельзя исправить...

автор вопроса выбрал этот ответ лучшим
Gennadij [26.4K]
Значит браузеры учитывают непрофессинализм пользователей. Конечно... в сети множество сайтов, написанных в разных версиях HTML, XHTML. И их нужно "понимать"­. Но казалось, чего проще, указать в первой строке кода версию языка, написать код правильно, а браузер, зная версию без лишних ухищрений интерпретирует. Видимо сами новшества не всегда удобны, поэтому и пишут "в перемешку". А "обозреватели отдуваются". Но пока это мои домыслы((  7 лет назад
gigabyte [44.6K]
Даже если в первой строке указан верный !doctype, все равно обозреватель будет проверять корректность страницы. Данный тэг - не более чем рекомендация. Однако если тэг указан неверно, часть информации пропадет с экрана пользователя или будет отображена некорректно, в соответствии с общими правилами.
Хочу тем самым сказать, что даже если страница свёрстана суперверно, скорость её обработки обозревателем от этого не возрастёт. Правило "а вдруг программист ошибся" работает всегда.
 7 лет назад
Gennadij [26.4K]
Спасибо!  7 лет назад
комментировать
2

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

В этом случае вполне достаточно заменить только "шапку" (верхнюю часть невидимых кодов страницы).

Если тип разметки text/html, то никаких ошибок браузер не покажет, просто будет пропускать ненужные элементы и все, а если же переделывать все теги, то займет это очень много времени, поэтому проще заменить только тип разметки и никаких проблем с валидностью не будет.

1

Почему так пишут сайты:

Может потому что их делали либо наугад, то есть написали код, а затем проверили и если браузер отобразил его более менее нормально, то решили так и оставить.

Либо наоборот, код писали большие профессионалы, которые отлично знали как и что выводит браузер.

Почему так срабатывает браузер:

1 Когда браузер видит ошибки, то если это хороший браузер, то он пытается "додумать" что хотел пользователь.

2 Либо это какое-то новшество кодов (кажущиеся ошибки), которое ещё не описано в учебниках.

0

Помимо html это даже не язык. он просто нужен для гипертекстовой разметки, так же как и css. А вот нормальные сайты пишутся на php, javascript, ruby и куча других языков. Возможно сайт который с точки зрения вводного курса по html кажется неправильным написание php сайта.

Знаете ответ?
Есть интересный вопрос? Задайте его нашему сообществу, у нас наверняка найдется ответ!
Делитесь опытом и знаниями, зарабатывайте награды и репутацию, заводите новых интересных друзей!
Задавайте интересные вопросы, давайте качественные ответы и зарабатывайте деньги. Подробнее..
регистрация
OpenID