Model de obiect document

Model de obiect document

Reprezentarea DOM a unei pagini HTML. informație
Depozit github.com/whatwg/dom
Tip Interfață de programare
API Web ( în )
Licență Creative Commons Attribution 4.0 International ( d )
Site-ul web www.w3.org/DOM , www.w3.org/standards/techs/dom și dom.spec.whatwg.org

Modelul de obiect document ( DOM ) este o interfață de programare standardizată de W3C , care permite scripturilor să examineze și să modifice conținutul browserului web . Prin DOM, compoziția unui document HTML sau XML este reprezentată ca un set de obiecte - care pot reprezenta o fereastră, o propoziție sau un stil, de exemplu - legate într-o structură de copac . Folosind DOM, un script poate modifica documentul prezent în browser prin adăugarea sau eliminarea nodurilor din copac.

Descriere

Document Object Model (DOM) înseamnă „ Document Object Model ”.

Model Un model este folosit pentru a reprezenta ceva, cum ar fi o hartă a orașului. DOM reprezintă documentul care se află în browser. Obiect În programare , un obiect este un container care are proprietăți și metode - care sunt variabile și acțiuni despre ceea ce reprezintă. Obiectele DOM pot reprezenta o fereastră, un document, o propoziție, un stil ... Document DOM se referă la un document, cum ar fi o pagină web vizualizată într-un browser. O pagină web începe cu o etichetă !DOCTYPEurmată de o etichetă <html>în care se află restul documentului. DOM reprezintă documentul afișat de o structură de copac, cuprinzând noduri (ramuri și frunze).

Istorie

Inițial, DOM (nivelul 0, moștenire ) era un set de obiecte puse la dispoziție de Netscape Navigator , a cărui versiune 4 a fost lansată înIunie 1997. Internet Explorer 4 a urmat în octombrie același an. Aceste două browsere au inclus suport pentru DHTML , care necesita extensii oferite apoi de rudimentarul DOM la acea vreme. Documentul ar putea fi acum manipulat prin intermediul DOM; totuși același document nu a fost reprezentat în același mod de cele două browsere. Această problemă a dispărut treptat odată cu adoptarea DOM standardizat de către W3C. DOM (nivelul 4) este acum încorporat în standardul HTML5 .

Implementare

Specificația de W3C furnizează obiectele și metodele și proprietățile pe care un browser web trebuie să pună la dispoziție absolut.

Principalele categorii de obiecte ale unui arbore DOM sunt documentul, elementele și atributele:

Fiecare browser implementează DOM în limbajul său de programare. Specificația DOM este aliniată cu limba JavaScript , recunoscută de toate browserele web. Orice parte a unei pagini web poate fi astfel editată programatic, iar programul va rula pe orice browser web compatibil DOM.

Din punct de vedere tehnic, DOM face posibilă citirea și modificarea oricărui document care utilizează etichete , cu orice limbaj de programare care oferă o interfață de programare DOM.

Evoluția DOM în browserele web

Înainte de standardizarea sa de către W3C , fiecare browser web avea propriul model de obiect document . Dacă limbajul de bază destinat gestionării documentelor web a fost rapid standardizat în jurul JavaScript-ului , același lucru nu a fost valabil pentru seria precisă de funcții de utilizat și modul de navigare a documentului. De exemplu, când Netscape Navigator a recomandat să răsfoiți o matrice indexată numită document.layers[], Internet Explorer a numit-o în loc document.all[]și așa mai departe. În practică, acest lucru presupunea scrierea (cel puțin) a două versiuni ale fiecărui fragment de scenariu, dacă doriți să vă faceți site-ul accesibil cât mai multor persoane.

Standardizarea acestor tehnici a fost realizată în mai multe etape, care de fiecare dată extind posibilitățile anterioare fără a le pune vreodată în discuție.

DOM 1

Primul este nivelul DOM 1 lansat în 1998 (nivelul 0 fiind considerat implementarea de bază găsită în Netscape Navigator 2.0 ), unde W3C a definit un mod precis de a reprezenta un document (în special un document XML ) sub forma unui copac. Fiecare element generat din marcare, cum ar fi în cazul HTML un paragraf, titlu sau buton de formular, formează un nod în el. De asemenea, este definită o serie de funcții pentru deplasarea în acest arbore, adăugarea, modificarea sau ștergerea elementelor. Pe lângă funcțiile generice aplicabile oricărui document structurat, au fost definite funcții speciale pentru documentele HTML, permițând, de exemplu, gestionarea formularelor. Cea mai mare parte a nivelului DOM 1 a fost disponibil încă din primele versiuni ale Internet Explorer 5 și Netscape 6.

DOM 2

Al doilea pas este nivelul DOM 2 (lansat în 2000 ), acum alcătuit din șase părți (pe lângă Core și HTML , vom găsi Evenimente , Stil , Vizualizare și Traversal și Range ). În evoluțiile cărămizii de bază (Core), se va nota posibilitatea identificării mai rapide a unui nod sau a unui grup de noduri din document. Astfel, pentru a obține un anumit element, nu îl vom mai căuta într-o matrice ca în DOM-urile proprietare anterioare, ci vom numi funcția getElementById () .

DOM 3

Al treilea nivel, lansat în primăvara anului 2004, a adăugat:

DOM 4

Al patrulea nivel a fost lansat în decembrie 2015. Ultima sa actualizare a fost în decembrie 2020.

Aspecte tehnice

DOM este folosit pentru a reprezenta structura unui document și elementele sale sub forma unui copac. Prin urmare, este de preferat să răsfoiți și să memorați întregul document înainte de a putea efectua procesarea dorită. Din acest motiv, programele care utilizează DOM au deseori o amprentă de memorie mare procesată. În schimb, dintr-un anumit arbore DOM, este posibil să se genereze documente în limbajul de marcare dorit, care poate fi la rândul său manipulat de interfața DOM.

DOM este utilizat pentru a putea modifica cu ușurință documentele XML sau pentru a accesa conținutul paginilor web. În cazurile în care nu este nevoie să manipulați documentele XML, ci doar să le citiți, metoda SAX poate fi de asemenea aleasă deoarece procesează elementele succesiv fără a încărca documentul în memorie. Este necesar atunci când dimensiunea documentului depășește capacitatea memoriei.

Evenimente

Captarea unui eveniment constă în executarea unei acțiuni (de exemplu, un program în JavaScript ) atunci când evenimentul monitorizat apare în document. Evenimentele capturabile ale DOM sunt:

Evenimente de pagină și fereastră

Evenimente mouse

Evenimente de la tastatură

Formați evenimente

Note și referințe

  1. (ro) Paul S. Wang, Dynamic Web Programming and HTML5 , CRC Press, 2012, ( ISBN  9781439871829 )
  2. (en) Jeremy Keith și 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. „  Specificația evenimentului de nivel 3 al modelului de obiect document (DOM)  ” , W3C ,6 septembrie 2012.

linkuri externe