20444

Document Object Model

Доклад

Информатика, кибернетика и программирование

Модель DOM не накладывает ограничений на структуру документа. Любой документ известной структуры с помощью DOM может быть представлен в виде дерева узлов каждый узел которого представляет собой элемент атрибут текстовый графический или любой другой объект. Изначально различные браузеры имели собственные модели документов DOM не совместимые с остальными.

Русский

2013-07-25

54 KB

11 чел.

19 Document Object Model

DOM (от англ. Document Object Model — «объектная модель документа») — это не зависящий от платформы и языка программный интерфейс, позволяющий программам и скриптам получить доступ к содержимому HTML, XHTML и XML-документов, а также изменять содержимое, структуру и оформление таких документов.

Модель DOM не накладывает ограничений на структуру документа. Любой документ известной структуры с помощью DOM может быть представлен в виде дерева узлов, каждый узел которого представляет собой элемент, атрибут, текстовый, графический или любой другой объект. Узлы связаны между собой отношениями родительский-дочерний.

Изначально различные браузеры имели собственные модели документов (DOM), не совместимые с остальными. Для того, чтобы обеспечить взаимную и обратную совместимость, специалисты международного консорциума W3C классифицировали эту модель по уровням, для каждого из которых была создана своя спецификация. Все эти спецификации объединены в общую группу, носящую название W3C DOM.

Еще один интерфейс прикладного программирования, называемый JDOM, обеспечивает более высокий, чем W3C DOM, уровень для работы с XML документами на Java — www.jdom.org.

Уровни W3C DOM

Текущим уровнем спецификаций DOM является Уровень 2, но тем не менее некоторые части спецификаций Уровня 3 являются рекомендуемыми W3C.

Уровень 0 

Включает в себя все специфические модели DOM, которые существовали до появления Уровня 1, например document.images, document.forms, document.layers и document.all. Необходимо обратить внимание, что эти модели формально не являются спецификациями DOM, опубликованными W3C, а скорее являются информацией о том, что существовало до начала процесса стандартизации.

Уровень 1 

Базовые функциональные возможности DOM (HTML и XML) в документах, такие как получение дерева узлов документа, возможность изменять и добавлять данные.

Уровень 2 

Поддержка так называемого пространства имён XML <--filtered views--> и событий.

Уровень 3 

Состоит из шести различных спецификаций:

  1.  DOM Level 3 Core;
  2.  DOM Level 3 Load and Save;
  3.  DOM Level 3 XPath;
  4.  DOM Level 3 Views and Formatting;
  5.  DOM Level 3 Requirements;
  6.  DOM Level 3 Validation.

Эти спецификации являются дополнительными расширениями DOM.

Реализация DOM в веб-браузерах

Учитывая существование различных реализаций DOM в веб-браузерах, среди программистов распространена привычка проверять работоспособность тех или иных возможностей DOM для каждого конкретного браузера, и только потом использовать их. Код ниже иллюстрирует способ проверки на поддержку стандартов W3CDOM перед тем как запустить код, зависящий от результата этой проверки.

 

if (document.getElementById && document.getElementsByTagName) {

   // если методы getElementById и getElementsByTagName

   // доступны, то можно относительно точно предположить поддержку W3CDOM.

 

   obj = document.getElementById("navigation")

   // далее идёт другой код с использованием возможностей W3CDOM.

   // .....

}

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

 

 function domImplementationTest(){

   var featureArray = ['HTML', 'XML', 'Core', 'Views',

                       'StyleSheets', 'CSS', 'CSS2', 'Events',

                       'UIEvents', 'MouseEvents', 'HTMLEvents',

                       'MutationEvents', 'Range', 'Traversal'];

   var versionArray = ['1.0', '2.0', '3.0'];

   var i;

   var j;

   if(document.implementation && document.implementation.hasFeature){

     for(i=0; i < featureArray.length; i++){

       for(j=0; j < versionArray.length; j++){

         document.write(

           'Поддержка расширения '+ featureArray[i] + ' версии ' + versionArray[j] + ' : ' + 

           (document.implementation.hasFeature(featureArray[i], versionArray[j]) ? 

           '<font style="color:green">true</font>' : '<font style="color:red">false</font>') + '<br/>'

         );

       }

       document.write('<br/>');

     }

   }

 }

Проблемы

Из-за несовместимости браузеров использование DOM иногда приводит к трудностям HTML-верстки и низкой надёжности страниц.


 

А также другие работы, которые могут Вас заинтересовать

37619. Михаил Сергеевич Горбачёв 42.26 KB
  Как обычные люди становятся историческими личностями, что выделяет их из общего ряда? То, что отличает от остальных, - исключительные способности, энергия, честолюбие, жажда власти, приверженность идеалу, или, напротив, безоглядный цинизм, беспринципность, или то, что с ними связывает
37620. Слагаемые профессионального имиджа педагога 135.5 KB
  Теоретические основы исследования проблемы имиджа педагога. Понятие и структура имиджа. Профессиональный имидж педагога. Создание имиджа учителя. Рекомендации и памятки для учителей...
37621. Определение итогов года по всем объектам учет прибыли и убытков компании 64.87 KB
  Дано: Ведомость расчета ущерба по объекту страхования Таблица выданных полюсов страхования Окончательный расчет рисков. начало Заполняем из таблицы Ведомость расчета ущерба по объекту страхования следующие поля: Номер договора Номер полиса Дата выдачи Колво страховых случаев соответствующие поля таблицы Учет фактических доходов компании Переносим из таблицы Окончательный расчет рисков страхования следующие поля: Ф.О Объект Адрес Вид страхования Срок страхования и заполняем в соответствующие поля...
37622. Создание единого информационного пространства образовательного учреждения 23.07 KB
  Одним из важнейших направлений информатизации современного общества является информатизация образования - процесс обеспечения сферы образования теорией и практикой разработки и использования современных информационных технологий, ориентированных на реализацию психолого - педагогических целей обучения и воспитания.
37623. Составление плана осмотра объекта 61.83 KB
  Цель задачи: Определить сроки осмотра объекта по всем поданным объектам. Требуется: Вывести план выезда страхового агента на объект. Организационноэкономическая сущность: Данная задача предназначена для того чтобы направить страхового агента на объект в соответствии с желаемой датой указанной клиентом.
37624. Економіка інтелектуальної власності 172 KB
  Економіка інтелектуальної власності. Права на об’єкти інтелектуальної власності як товару. Особливості права інтелектуальної власності як товару. Інтелектуальна власність як нематеріальний актив.
37625. Учет рисков в страховании 63.17 KB
  Дано: Ведомость предварительной стоимости объекта страхования Справочник клиентов Заявка от клиента. Требуется: Определить предварительный расчет рисков по объекту страхования. Периодичность и область применения: Предварительный расчет рисков по объектам страхования на момент запроса составляется при поступлении заявки. Техноэкономическая эффективность: Автоматизированное составление вывести предварительный расчет рисков по объектам страхования на момент запроса существенно повысит эффективность работы организации.
37626. Расчет полной стоимости объекта страхования 61.45 KB
  Цель задачи: Осуществить полной расчет стоимости объекта страхования. Дано: Предварительный расчет рисков по объекту страхования Нормативы по скидочным предложениям Справочник объектов страхования Ведомость предварительной стоимости объекта страхования. Требуется: Произвести окончательный расчет рисков страхования.
37627. МЕТОДЫ СОРТИРОВКИ 22.16 KB
  ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №1 Тема: МЕТОДЫ СОРТИРОВКИ ОТЧЕТ ВЫПОЛНИЛ СТУДЕНТ ГР. Постановка задачи Выполнить сравнение трех видов сортировки: метод вставки метод стандартного обмена метод пузырька и метод простого выбора. Метод вставки