Структура DOM в случае ошибок в разметке HTML
Ошибки при построении разметки могут приводить к разному результату в разных браузерах. Конечно, исходный код будет везде одинаков, но если проверить структуру DOM с помощью инструментов разработчика, то результат будет различаться.
Вот какой код будем проверять:
<div> <p><span><b>Некий текст</span></b></p> </div>
Указанный код вставлен в правильную структуру тега <body>
.
Внутри элемента параграфа имеется ошибка закрытия тегов: открывается тег <span>
, затем открывается тег <b>
, но тег <span>
закрывается первым.
В действительности такая ситуация соответствует ошибке 101 при проверке кода. Кроме того, многие редакторы автоматически правильно закрывают теги. Поэтому такая ситуация должна встречаться вам очень редко, практически- никогда.
Тем не менее посмотрим, как такая ошибка будет выглядеть в структуре DOM, созданной браузером на основании полученного кода. Ниже приводится несколько снимков экрана разных браузеров при просмотре структуры DOM с помощью инструментов разработчика:
Chrome 9
Firefox 3.6
Internet Explorer 9
Opera 11
Safari 5
Построенная структура DOM имеет различия.
Казалось бы, что такого? Но неправильная структура DOM может влиять на CSS и JavaScript, которые используют указание элементов в коде. Можно подумать, что такая ситуация никогда не случится, потому что код всегда проходит проверку. Но если страница генерируется динамически или на ней имеется пользовательское содержание, то вероятность появления подобной ошибки весьма высока. Конечно, проблема не имеет глобального значения, но относится к разряду "никто не знает, что может случиться".
Другой фактор, о котором следует упомянуть - одинаковое выполнение кода веб языков. Спецификация HTML5 включает инструкции для браузеров, как обрабатывать ошибки в разметке. Если им следовать, то код с ошибками будет одинаково отображаться в разных браузерах. Однако сейчас имеется ситуация, которая может предоставить сюрприз для разработчика при проверке кросс-браузерности его творения.
Firefox 3.6, IE9, и Safari 5 выводят дополнительный элемент. Достаточно свежие версии браузеров показывают различный результат (особенно странной является ситуация с Safari и Chrome, которые построены на одном движке WebKit). Если разработчики браузеров руководствовались спецификацией в случае обработки ошибок в разметке, почему мы имеем разный результат?
Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/QqiZ3CmPThU/lessons.php
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2024-11-26 » Капитан грузового судна, или Как начать использовать Docker в своих проектах
- 2024-11-26 » Обеспечение безопасности ваших веб-приложений с помощью PHP OOP и PDO
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-15 » Перенос сайта на WordPress с одного домена на другой
- 2024-11-08 » OSPanel 6: быстрый старт
- 2024-11-08 » Как установить PhpMyAdmin в Open Server Panel
- 2024-09-30 » Как быстро запустить Laravel на Windows
- 2024-09-25 » Next.js
- 2024-09-05 » OpenAI рассказал, как запретить ChatGPT использовать содержимое сайта для обучения
- 2024-08-28 » Чек-лист: как увеличить конверсию интернет-магазина на примере спортпита
- 2024-08-01 » WebSocket
- 2024-07-26 » Интеграция с Яндекс Еда
- 2024-07-26 » Интеграция с Эквайринг
- 2024-07-26 » Интеграция с СДЕК
- 2024-07-26 » Интеграция с Битрикс-24
- 2024-07-26 » Интеграция с Travelline
- 2024-07-26 » Интеграция с Iiko
- 2024-07-26 » Интеграция с Delivery Club
- 2024-07-26 » Интеграция с CRM
- 2024-07-26 » Интеграция с 1C-Бухгалтерия
- 2024-07-24 » Что такое сторителлинг: техники и примеры
- 2024-07-17 » Ошибка 404: что это такое и как ее использовать для бизнеса
- 2024-07-03 » Размещайте прайс-листы на FarPost.ru и продавайте товары быстро и выгодно
- 2024-07-01 » Профилирование кода в PHP
- 2024-06-28 » Изучаем ABC/XYZ-анализ: что это такое и какие решения с помощью него принимают
- 2024-06-17 » Зачем вам знать потребности клиента
- 2024-06-11 » Что нового в работе Яндекс Метрики: полный обзор обновления
- 2024-06-11 » Поведенческие факторы ранжирования в Яндексе
- 2024-06-11 » Скорость загрузки сайта: почему это важно и как влияет на ранжирование
Всегда храни верность своему начальнику - следующий, может быть еще хуже... |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.