HTML различия между браузерами - PullRequest
4 голосов
/ 17 августа 2008

Знаете ли вы какие-либо различия в обработке тегов / свойств HTML в разных браузерах? Например, однажды я увидел страницу с тегом ввода, в котором поле maxlength установлено в «2o». Firefox и Opera игнорируют «o» и устанавливают максимальную длину 2, в то время как Internet Explorer полностью игнорирует поле. Вы знаете больше?

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

Ответы [ 7 ]

8 голосов
/ 17 августа 2008

Списки ошибок

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

Javascript

Я согласен с Craig - лучше всего программировать Javascript с использованием библиотеки, которая обрабатывает различия между браузерами (а также упрощает такие вещи, как пространство имен, обработка событий AJAX и контекст). Вот переход к ответу Крейга (на этой странице).

Сброс CSS

Сброс CSS действительно может упростить веб-разработку. Они переопределяют настройки, которые немного различаются в разных браузерах, чтобы дать вам более общую отправную точку Мне нравится Yahoo YUI Reset CSS .

6 голосов
/ 17 августа 2008
3 голосов
/ 17 августа 2008

Если вы программируете на javascript, лучший совет, который я могу дать, - это использовать библиотеку javascript вместо того, чтобы пытаться свернуть свою собственную. Библиотеки хорошо протестированы, и, скорее всего, встречаются угловые случаи.

Scriptalicious - http://script.aculo.us/
JQuery - http://jquery.com/
Microsoft AJAX - http://www.asp.net/ajax/
Додзё - http://dojotoolkit.org/
Прототип - http://www.prototypejs.org/
YUI - http://developer.yahoo.com/yui/

1 голос
/ 17 августа 2008

Известны ли вам какие-либо различия в обработке тегов / свойств HTML в разных браузерах

Запрашивает ли этот вопрос информацию обо всех различиях, включая DOM и CSS? Немного большой темы. Я думал, что ОП спрашивает о поведении HTML, а не обо всем этом ...

0 голосов
/ 18 декабря 2009

Несовместимый синтаксический анализ XHTML в режиме HTML

HTML-парсеры не предназначены для обработки XML.

Если документ XHTML представлен как "text / html" и , то рекомендации по совместимости не соблюдаются, вы можете получить неожиданные результаты.

Пустые теги - один из возможных источников проблем. и эквивалентны в XML. Однако анализатор HTML может интерпретировать их двумя способами.

Например, Opera и IE рассматривают
как два
, но Firefox и WebKit рассматривают
как один
.

0 голосов
/ 23 апреля 2009

Однажды я увидел страницу с тегом ввода с полем максимальной длины, установленным на «2o».

В данном конкретном случае вы говорите о неверном коде. Атрибут maxlength не может содержать буквы, только цифры.

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

Если вы действительно спрашиваете, «что делают все разные браузеры, когда сталкиваются с HTML-кодом, который по любой из бесконечных причин не работает?», То это безумие.

Мы можем значительно уменьшить проблемное пространство на , используя действующий код.

Итак, используйте правильный HTML. Тогда у вас остаются две основные проблемные области:

  • ошибки браузера - как браузер следует стандарту HTML и что он делает не так
  • Различия в настройках браузера по умолчанию, такие как количество отступов / полей, которые оно дает телу
0 голосов
/ 17 августа 2008

Меня действительно раздражает испорченная функция JavaScript document.getElementById в IE - в большинстве браузеров это дает вам то, что имеет указанный вами идентификатор, IE с радостью предоставит вам что-то, что имеет значение в атрибуте name, даже если в документе есть что-то позднее с идентификатором, который вы просили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...