HTML различия между браузерами

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

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

17.08.2008 12:02:23
7 ОТВЕТОВ

Проверьте http://www.quirksmode.org/

6
17.08.2008 12:04:27

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

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

3
17.08.2008 14:58:25

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

0
17.08.2008 16:28:13

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

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

Javascript

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

Сброс CSS

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

8
23.05.2017 12:01:23
URL перехода к ответу Крейга указывает на «beta.stackoverflow.com», а не на «stackoverflow.com». В результате мой браузер (Safari 4) пытается перейти на «beta.stackoverflow.com», но затем перенаправляется на «stackoverflow.com» и теряет хэш ... Однако я не уверен, что URL необходим во-первых, вы должны просто написать хеш: <a href="#13659">.
Steve Harrison 23.04.2009 02:55:20

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

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

1
17.08.2008 18:07:40

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

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

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

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

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

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

  • ошибки браузера - как браузер следует стандарту HTML и что он делает неправильно
  • Различия в настройках браузера по умолчанию, такие как количество отступов / полей, которые оно дает телу
0
23.04.2009 01:53:45

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

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

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

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

Например, Opera и IE обрабатывают <br> </br> как два <br>, а Firefox и WebKit рассматривают <br> </br> как один <br>.

0
17.12.2009 21:51:34