DOM — Объектная Модель Документа

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

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

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

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

Учитывая существование различных реализаций DOM в web-браузерах, среди программистов распространена привычка проверять работоспособность тех или иных возможностей 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;
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]) + '<br>'
);
}
document.write('<br>');
}
}
}

Login:
Password:








Украина онлайн


тостыкаталог сайтовкаталог ссылокпартнеры тост дня
ERA.COM.UA
интернет портал

[Free-Search.org.ua] - Бесплатный каталог сайтов

Отличный каталог сайтов


Copyright © 2009 group of php software developers