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


 

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

31878. ЭЛЕКТРОННЫЕ КЛЮЧИ 1.08 MB
  В качестве нелинейных приборов с управляемым сопротивлением в электронных ключах используются полупроводниковые диоды транзисторы фототранзисторы тиристоры оптроны электронные лампы.1 Диодные ключи Цель работы исследование статических и динамических параметров и характеристик диодных ключей. На рис.1 а показаны типичные статические ВАХ германиевого Gе и кремниевого Si диодов а на рис.
31879. Определение чистоты лекарственных средств 464 KB
  Каково назначение определения удельного вращения в препаратах кислота аскорбиновая и кислота глютаминовая Приведите формулу для расчета удельного вращения в растворах. Для каких субстанций определяют прозрачность цветность раствора Какие нормативные документы регламентируют определение этих показателей Какими подходами пользуются при определении рН кислотности или щелочности Какие примеси и какими методами определяются согласно разделу блока чистоты Посторонние примеси. Промоделируйте определение прозрачности раствора в...
31880. Захист інформації в комп’ютерних системах 288.5 KB
  Огляд стандартних прав доступу в Windows 2000. Частина перша охоплює питання захисту інформації на рівні операційних систем і базових складових будьякої системи захисту підсистем ідентифікації й автентифікації розмежування доступу і реєстрації подій. Теоретичні відомості Підсистема ідентифікації та автентифікації У системі Unix єдиними можливими суб'єктами доступу є користувачі идентифікуючою інформацією яких є login який іноді називають userid ім'яідентифікатор з одного слова а...
31881. Методы учета затрат и калькулирования себестоимости продукции на примере ОАО «Сибиряк» Русско-Полянского района 387 KB
  Сущность методов учета затрат и калькулирования себестоимости продукции. Роль калькулирования себестоимости продукции в управлении производством. Приложение А37 Приложение Б38 Приложение В39 Приложение Г40 ВВЕДЕНИЕ Процесс производства занимает центральное место в деятельности организации и представляет собой совокупность технологических операций связанных с созданием готовой...
31882. Электрический привод системы генератор-двигатель 1.05 MB
  Номер варианта Закон изменения момента сопротивления рабочей машины Момент инерции рабочей машины в долях от момента инерции двигателя Тип двигателя и способ его питания 4 1500 45 Постоянного тока от генератора постоянного тока Примечание: Характер момента сопротивления реактивный. Требуемую перегрузочную способность двигателя. Средняя температура нагрева изоляции двигателя не должна превышать допустимую. Предварительный подбор двигателя.
31883. Моделі реалізації об’єктно-орієнтованих систем 57.5 KB
  У кожного інтерфейсу СОМ два імена. Простої, символьне імя призначене для людей, воно не унікально (допускається, щоб це імя було однаковим у двох інтерфейсів). Інше, складне імя призначене для використання програмами. Програмне імя унікальне, це дозволяє точно ідентифікувати інтерфейс.
31886. Кассир. Должностные обязанности 23 KB
  Должен знать: постановления распоряжения приказы другие руководящие и нормативные документы вышестоящих и других органов касающиеся ведения кассовых операций; формы кассовых и банковских документов; правила приема выдачи учета и хранения денежных средств и ценных бумаг; порядок оформления приходных и расходных документов; лимиты остатков кассовой наличности установленной для организации; правила обеспечения их сохранности; порядок ведения кассовой книги составления кассовой отчетности; правила эксплуатации электронно вычислительной...