Подтвердить что ты не робот

Что такое DOM? (резюме и важность)

Что такое объектная модель документа (DOM)?

Я задаю этот вопрос, потому что я в основном работал в .NET, и у меня только ограниченный опыт, но я часто слышу, как более опытные разработчики говорят об этом/упоминают. Я читал учебники онлайн, но я не могу понять всю картину. Я знаю, что это API!

Более конкретные вопросы:

  • Где он используется в настоящее время?
  • В каком поле (-ях) разработчиков его используют (разработчики ex-.NET)?
  • Насколько уместно это понимать для всех разработчиков в целом?
4b9b3361

Ответ 1

В общих чертах DOM является моделью для структурированного документа.
Это центральная концепция в сегодняшнем ИТ, и ни один разработчик не может отказаться от DOM. Будь то в .net, в HTML, в XML или других доменах, где он используется.
Он применяется ко всем документам (текстовые документы, HTML-страницы, файлы XML и т.д.). В сфере разработчика он применяется в основном в HTML и XML-доменах с немного отличающимися значениями.

HTML

На арене HTML DOM был представлен для поддержки революции, названной в конце 90-х годов "динамическим HTML". До IE4 и Netscape 4.0 HTML-документы, которые не изменялись внутри браузера (все, что у вас было в эти удаленные времена, чтобы создать веб-страницу, было "анимированный GIF"!!!! и HTML был версии 3.2).
Поэтому динамическое манипулирование внутри браузера документа, отправленного сервером, было огромной революцией и инициировало марш к привлекательным веб-сайтам, которые мы видим сегодня.

Javascript был представлен Netscape (крестил javascript для навигации по новому тренду Java, но не связан) и был поддержан как Netscape HTTP-серверами, так и браузерами Netscape, и Internet Explorer с нетерпением следил за ходом внутри браузера. Однако, когда javascript используется для управления содержимым документа, вам нужен простой способ обозначить часть документа, с которым вы хотите взаимодействовать. То, что входит в DOM. Хотя HTML 4 не "хорошо сформирован", браузеры создают внутреннее представление страницы с элементом "body" наверху и множеством html-тегов ниже, в иерархической организации (дочерние узлы, родительские атрибуты узлов и т.д.). DOM - это модель, лежащая в основе API, которая позволяет ориентироваться в этой иерархии.

Поскольку оба браузера Netscape и IE были конкурирующими решениями, было мало шансов, что NS и IE DOM будут сходиться. W3C вмешался, чтобы позволить меньшим поставщикам браузеров выйти на конкурс и попытаться стандартизировать DOM. Следовательно, W3C DOM. Все, что он сделал, это просто ввести другой диалект, и, как всем известно, потребовались годы и два серьезных конкурента, чтобы заставить MS соблюдать стандарты.

Несмотря на то, что более современные навигационные методы, такие как JQuery, имеют сокращенные обозначения для DOM, они внутренне полагаются на DOM.

XML

HTML сделал очевидным недостатки в проявлении снисхождения к "правильности" документов, и это открыло новое увлечение: XML. На веб-арене XML и XSLT были сначала поддержаны IE5 и приняты во многих других областях, чем просто отображение страниц.
Для синтаксического анализа XML в Java Word в основном вы должны разработать SAX-парсер, который в основном является плагином для SAX-механизма, в котором вы описываете, что движок должен делать из всех событий XML (тегов...), которые он встретит в проанализированный документ. Разработка синтаксического анализатора SAX не является простым, но является решением с малым размером.
Однако вам нужно разработать конкретный для каждого нового типа документа...
Поэтому незадолго до того, как библиотеки начали появляться, чтобы разобрать любой документ и построить карту памяти в своей памяти. Поскольку он также имел те же концепции корней, родителей и детей (унаследованных от SGML через HTML), он также назывался DOM, и имя применяется независимо от библиотеки.

Другие домены

Концепция DOM не ограничивается или даже не придумана для HTML или XML. DOM является общей концепцией, применимой к любому документу, особенно тем, которые (подавляющее большинство из них) показывают иерархическую структуру, в которой вам нужно ориентироваться. Вы можете говорить о DOM документа MS-Word, и есть API-интерфейсы для навигации по ним.

Ответ 2

DOM - это интерфейс прикладного программирования для четко определенных структур HTML и XML (за документ W3C). Он используется в любом месте, где вы взаимодействуете с элементами веб-страницы (любой элемент - стиль, текст, атрибуты и т.д.). Вы много узнаете о DOM с JavaScript и/или библиотеками JavaScript, такими как jQuery (который, конечно же, является JavaScript). Он также ссылается на Java, ECMAScript, JScript и VBScript.

Если вы программируете .NET, важно, если вы работаете в Интернете. Если вы занимаетесь программированием приложений, это не так важно. DOM определенно не ушел в прошлое - он используется и работает в течение многих дней многими разработчиками. С учетом сказанного, была предпринята работа по стандартизации DOM через веб-браузеры. (Опять же, библиотеки могут помочь скрыть эти различия. Это одна из причин, по которой jQuery настолько популярен. Вам не нужно беспокоиться о специфике браузера - вы просто делаете то, что вам нужно делать.)

Документ, который я связал с выше, отлично справляется с ответом на все ваши вопросы и многое другое. Я бы очень рекомендовал его прочитать. Если у вас есть дополнительные вопросы, вы также можете проверить ссылки ниже:

Ответ 3

Я действительно не смогу объяснить это лучше, чем Статья в Википедии о DOM

Но чтобы ответить на несколько из ваших вопросов:

Где мы все еще используем его?

Каждый веб-браузер с середины девяностых.

Кто использует его,

Каждый веб-разработчик с середины девяностых.

в какой технологии?

В основном веб-интерфейс с помощью JavaScript, но в значительной степени при любом обращении к XML/HTML программно вы используете какую-либо реализацию DOM.

Насколько важно это для любого в .net перевозчик? [Так в оригинале]

Чрезвычайно, хотя вы, вероятно, используете его, даже не зная об этом.

Это просто ушла в прошлое, был сильно использован, но имел проблемы?

Если это, то кто-то должен сказать John Resig, что он потратил впустую последние 3 года своей жизни.

Ответ 4

Что такое DOM?

Объектная модель документа (DOM) - это API-интерфейс программирования для документов HTML и XML. Он определяет логическую структуру документов и способ доступа и манипулирования документом. Стандарт, определяемый консорциумом w3.

Источник: http://www.w3.org/TR/WD-DOM/introduction.html

Ответ 5

DOM - это всего лишь интерфейс времени выполнения между input-html и output-html Html может просто показывать теги. DOM используется для манипулирования тегами. Например, getelementbyid в javascript не будет работать без DOM.