Model obiektu dokumentu

Model obiektu dokumentu

Reprezentacja DOM strony HTML. Informacja
Kaucja github.com/whatwg/dom
Rodzaj Interfejs programistyczny
API Web ( w )
Licencja Creative Commons Attribution 4.0 International ( d )
Stronie internetowej www.w3.org/DOM , www.w3.org/standards/techs/dom i dom.spec.whatwg.org

Document Object model ( DOM ) to interfejs programowania opracowany przez organizację W3C , która umożliwia skrypty do zbadania i modyfikowanie zawartości w przeglądarce internetowej . W DOM, kompozycja dokumentu HTML lub XML jest reprezentowana jako zbiór obiektów - które mogą reprezentować na przykład okno, zdanie lub styl - połączonych w strukturę drzewa . Korzystając z DOM, skrypt może modyfikować dokument obecny w przeglądarce, dodając lub usuwając węzły z drzewa.

Opis

Document Object Model (DOM) to skrót od „ Document Object Model ”.

Model Model służy do reprezentowania czegoś, na przykład mapy miasta. DOM reprezentuje dokument znajdujący się w przeglądarce. Obiekt W programowaniu obiekt jest kontenerem, który ma właściwości i metody - czyli zmienne i akcje dotyczące tego, co reprezentuje. Obiekty DOM mogą reprezentować okno, dokument, zdanie, styl ... Dokument DOM odnosi się do dokumentu, takiego jak strona internetowa przeglądana w przeglądarce. Strona internetowa zaczyna się od tagu, !DOCTYPEpo którym następuje tag, <html>w którym znajduje się reszta dokumentu. DOM reprezentuje dokument wyświetlany w strukturze drzewa, zawierającej węzły (gałęzie i liście).

Historia

Pierwotnie DOM (poziom 0, legacy ) był zbiorem obiektów udostępnionych przez Netscape Navigator , którego wersja 4 została wydana wCzerwiec 1997. Internet Explorer 4 pojawił się w październiku tego samego roku. Te dwie przeglądarki zawierały obsługę DHTML , która wymagała rozszerzeń oferowanych wówczas przez podstawowy DOM. Dokument może być teraz manipulowany przez DOM; jednak ten sam dokument nie był reprezentowany w ten sam sposób przez dwie przeglądarki. Ten problem stopniowo zniknął wraz z przyjęciem ustandaryzowanego DOM przez W3C. DOM (poziom 4) jest teraz włączony do standardu HTML5 .

Realizacja

Specyfikacja z W3C udostępnia obiektów oraz metody i właściwości, że przeglądarka internetowa musi absolutnie udostępniają.

Głównymi kategoriami obiektów drzewa DOM są dokumenty, elementy i atrybuty:

Każda przeglądarka implementuje DOM w swoim języku programowania. Specyfikacja DOM jest zgodna z językiem JavaScript rozpoznawanym przez wszystkie przeglądarki internetowe. W ten sposób dowolna część strony internetowej może być edytowana programowo, a program będzie działał na dowolnej przeglądarce internetowej zgodnej z DOM.

Technicznie DOM umożliwia odczyt i modyfikację dowolnego dokumentu, który używa tagów , w dowolnym języku programowania, który oferuje interfejs programowania DOM.

Ewolucja DOM w przeglądarkach internetowych

Przed standaryzacją przez W3C każda przeglądarka internetowa miała swój własny Document Object Model . Jeśli podstawowy język przeznaczony do obsługi dokumentów internetowych został szybko ustandaryzowany w oparciu o JavaScript , to samo nie dotyczyło dokładnej serii funkcji do użycia i sposobu przeglądania dokumentu. Na przykład, gdy Netscape Navigator zalecał przeglądanie nazwanej tablicy indeksowanej document.layers[], Internet Explorer nazwał ją zamiast tego document.all[]i tak dalej. W praktyce wymagało to napisania (co najmniej) dwóch wersji każdego skryptu, jeśli chcesz, aby Twoja witryna była dostępna dla jak największej liczby osób.

Standaryzacja tych technik przebiegała w kilku etapach, które każdorazowo poszerzają dotychczasowe możliwości, nie kwestionując ich nigdy.

DOM 1

Pierwszym z nich jest DOM Level 1 wydany w 1998 roku (z poziomem 0 uważanym za podstawową implementację znalezioną w Netscape Navigator 2.0 ), w którym W3C zdefiniował precyzyjny sposób przedstawiania dokumentu (zwłaszcza dokumentu XML ) pod kształtem drzewa. Każdy element wygenerowany ze znaczników, taki jak w przypadku HTML, akapit, tytuł lub przycisk formularza, tworzy w nim węzeł. Zdefiniowano również szereg funkcji do poruszania się po tym drzewie, dodawania, modyfikowania lub usuwania elementów. Oprócz funkcji ogólnych mających zastosowanie do dowolnego dokumentu strukturalnego, dla dokumentów HTML zostały zdefiniowane specyficzne funkcje, które pozwalają na przykład na zarządzanie formularzami. Większość DOM Level 1 była dostępna od wczesnych wersji Internet Explorer 5 i Netscape 6.

DOM 2

Drugim krokiem jest DOM Level 2 (wydany w 2000 roku ), składający się teraz z sześciu części (oprócz Core i HTML znajdziemy zdarzenia , styl , widok i przemierzanie i zakres ). W ewolucji podstawowej cegły (Core) można zauważyć możliwość szybszej identyfikacji węzła lub grupy węzłów w dokumencie. Dlatego, aby uzyskać określony element, nie będziemy już szukać go w tablicy, jak w poprzednich zastrzeżonych DOMach , ale będziemy wywoływać funkcję getElementById () .

DOM 3

Trzeci poziom, wydany wiosną 2004 r., Dodał:

DOM 4

Czwarty poziom został wydany w grudniu 2015 roku. Ostatnia aktualizacja miała miejsce w grudniu 2020 roku.

Aspekty techniczne

DOM służy do reprezentowania struktury dokumentu i jego elementów w postaci drzewa. Dlatego lepiej jest przejrzeć i zapamiętać cały dokument, zanim będzie można przeprowadzić żądane przetwarzanie. Z tego powodu programy korzystające z DOM często zajmują dużo miejsca w przetwarzanej pamięci. I odwrotnie, z danego drzewa DOM można wygenerować dokumenty w żądanym języku znaczników , którym z kolei można manipulować za pomocą interfejsu DOM.

DOM służy do łatwego modyfikowania dokumentów XML lub uzyskiwania dostępu do zawartości stron internetowych. W przypadkach, gdy nie trzeba manipulować dokumentami XML, a jedynie je czytać, można również wybrać metodę SAX, ponieważ przetwarza ona elementy sukcesywnie bez ładowania dokumentu do pamięci. Jest to konieczne, gdy rozmiar dokumentu przekracza pojemność pamięci.

Wydarzenia

Przechwytywanie zdarzenia polega na wykonaniu akcji (na przykład programu w JavaScript ), gdy monitorowane zdarzenie wystąpi w dokumencie. Zdarzenia, które można przechwycić w DOM to:

Zdarzenia dotyczące stron i okien

Wydarzenia związane z myszami

Wydarzenia związane z klawiaturą

Formuj wydarzenia

Uwagi i odniesienia

  1. (en) Paul S. Wang, Dynamic Web Programming and HTML5 , CRC Press, 2012, ( ISBN  9781439871829 )
  2. (en) Jeremy Keith and Jeffrey Sambells, DOM Scripting: Web Design with JavaScript and the Document Object Model , Apress - 2010, ( ISBN  9781430233893 )
  3. http://www.w3.org/TR/DOM-Level-3-Core/ .
  4. http://www.w3.org/TR/dom/ .
  5. „  Document Object Model (DOM) Level 3 Events Specification  ” , W3C ,6 września 2012.

Linki zewnętrzne