20444

Document Object Model

Доклад

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

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

Русский

2013-07-25

54 KB

10 чел.

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-верстки и низкой надёжности страниц.


 

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

68042. Музыкально-библиотечный урок «Следствие ведут колобки!» 5.74 MB
  Извините вы кто У нас идет урок Знаю Но следы ведут именно в этот кабинет Следствие не может быть остановлено Я должен срочно найти этого человека Я располагаю сведениями что он близко знаком вот с ним Слайд 1 Чебурашка А еще с ними: Слайд 2 3 Герои из мультфильма Каникулы в Простоквашино...
68043. Ранок «Новорічний Колобок» 77.5 KB
  З Новим роком добрі люди! Щастя, сили вам, добра! Хай у Вас все добре буде! Свято починать пора! З Новим роком вас вітаю Зичу свят веселих вам. Щастя, радості бажаю Дітям, гостям і батькам.
68044. ЭКОЛОГИЧЕСКАЯ СКАЗКА «КОЛОБОК» 52 KB
  Вступительное слово Сегодня 3-Б класс приглашает вас на сказку. А о чем она подумайте сами. Не зря говорится: «Сказка ложь да в ней намек, добрым молодцам урок. Занавес раздвигается. Декорации – избушка с окошком. Из трубы дым идет. Вдали лес. Звучит музыка «В гостях у сказки».
68045. Монотипія «Світ комах» 184.5 KB
  Актуалізація опорних знань Діти сьогодні ми з вами здійснимо подорож до дивовижного світу найменших створінь природи світу комах. Яких комах ви знаєте Чим комахи відрізняються від інших істот Чим вони корисні та чим вони шкідливі Як слід ставитись до комах.
68046. Конфликт, конфликтные ситуации, компромисс 50 KB
  Цель: Изучить основные понятия: конфликт конфликтные ситуации компромисс; Ознакомить учащихся и родителей с разными стилями реагирования в конфликтных ситуациях; Учить применять навыки конструктивного решения конфликтов; Развивать в учениках способность к формированию собственных способов...
68048. Регіональний конкурс «Найкращий відгук на сучасну дитячу прозу» 36.5 KB
  Матеріал до підготовки: мікрофон музика книжкові виставки: Книги які знають усе Сучасна дитяча проза формуляри читачів 4 та 5 класів. Щоб дізнаємося які книги подобаються нашим конкурсантам ми заглянемо у їхні формуляри. Запитання для читачів: Яка книга залишила у твоїй пам’яті...
68049. Виховний захід: «Інформація» 173 KB
  Після того як перший учасник закінчив розповідь він займає місце в аудиторії слухачів. Визначте хто яке місце зайняв якщо відомо що Галя зайняла друге місце Наталя хоч і не стала переможцем але в призери попала а Віра програла Ані. Аня Віра Галя Наталя 1 місце 2 місце 3 місце...
68050. Конкурс кмітливих та винахідливих «Мій розпорядок дня» 36 KB
  - Heute haben wir Wiederholungsstunde zum Thema «Unser Tageslauf». - Sagt, an welchem Thema haben wir gearbeitet? - Woruber haben wir zu diesem Thema gesprochen? - An welchem grammatischen Stoff haben wir in dieserZeit gearbeitet (Perfekt)?