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

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

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

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
4
0
6 320
7

Ответы 7

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

Если вы программируете на 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/

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

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

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

Javascript

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

Сброс CSS

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

URL-адрес «перехода к ответу Крейга» указывает на «beta.stackoverflow.com», а не на «stackoverflow.com». В результате мой браузер (Safari 4) пытается перейти на «beta.stackoverflow.com», но затем перенаправляется на «stackoverflow.com» и теряет хеш ... Однако я не уверен, что URL-адрес необходим в первую очередь - у вас должна быть возможность просто написать хеш: ''.

Steve Harrison 23.04.2009 06:55

Do you know of any differences in handling HTML tags/properties in different browsers

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

I once saw a page with a input tag with a maxlength field set to "2o".

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

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

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

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

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

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

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

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

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

Empty tags is one possible source of problems. and эквивалентны в XML. Однако парсер HTML может интерпретировать их двумя способами.

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

Другие вопросы по теме