Document Object Model

Document Object Model
Page d'aide sur l'homonymie Pour les articles homonymes, voir DOM.

Le Document Object Model (ou DOM) est une recommandation du W3C qui décrit une interface indépendante de tout langage de programmation et de toute plate-forme, permettant à des programmes informatiques et à des scripts d'accéder ou de mettre à jour le contenu, la structure ou le style de documents XML. Le document peut ensuite être traité et les résultats de ces traitements peuvent être réincorporés dans le document tel qu'il sera présenté.

Sommaire

Évolution du DOM au sein des navigateurs web

Avant sa standardisation par le W3C, chaque navigateur web disposait de son propre Document Object Model. Si le langage de base destiné à manipuler les documents web a vite été standardisé autour de JavaScript, il n'en a pas été de même pour la série précise de fonctions à utiliser et la manière de parcourir le document. Par exemple, lorsque Netscape Navigator préconisait de parcourir un tableau indexé nommé document.layers[], Internet Explorer l'appelait plutôt document.all[], et ainsi de suite. En pratique, cela obligeait à écrire (au moins) deux versions de chaque morceau de script si l'on voulait rendre son site accessible au plus grand nombre.

La standardisation de ces techniques s'est faite en plusieurs étapes, lesquelles étendent chaque fois les possibilités précédentes sans jamais les remettre en cause.

DOM 1

La première est le DOM Level 1 publié en 1998 (le niveau 0 étant considéré comme l'implémentation de base figurant dans Netscape Navigator 2.0), où le W3C a défini une manière précise de représenter un document (en particulier un document XML) sous la forme d'un arbre. Chaque élément généré à partir du balisage comme, dans le cas de HTML, un paragraphe, un titre ou un bouton de formulaire, y forme un nœud. Est également définie une série de fonctions permettant de se déplacer dans cet arbre, d'y ajouter, modifier ou supprimer des éléments. En plus des fonctions génériques applicables à tout document structuré, des fonctions particulières ont été définies pour les documents HTML, permettant par exemple la gestion des formulaires. Le DOM Level 1 a été disponible dans sa plus grande partie dès les premières versions d'Internet Explorer 5 et de Netscape 6.

DOM 2

La seconde étape est le DOM Level 2 (publié en 2000), à présent constitué de six parties (en plus de Core et HTML, on trouvera Events, Style, View et Traversal and Range). Dans les évolutions de la brique de base (Core), on notera la possibilité d'identifier plus rapidement un nœud ou un groupe de nœuds au sein du document. Ainsi, pour obtenir un élément particulier on ne le recherchera plus dans un tableau comme dans les DOM propriétaires précédents, mais on appellera la fonction getElementById().

DOM 3

Enfin le troisième niveau a été publié au printemps 2004. Le groupe officiel de travail a aujourd'hui arrêté le développement du DOM.

Aspects techniques

DOM permet de construire une arborescence de la structure d'un document et de ses éléments. Il est donc préférable de parcourir et de mémoriser l'intégralité du document avant de pouvoir effectuer les traitements voulus. Pour cette raison, les programmes utilisant DOM ont souvent une empreinte mémoire volumineuse en cours de traitement. À l'inverse, à partir d'un arbre DOM donné, il est possible de générer des documents dans le langage de balisage voulu, qui pourront à leur tour être manipulés par l'interface DOM.

DOM est utilisé pour pouvoir modifier facilement des documents XML ou accéder au contenu des pages web. Dans les cas ne nécessitant pas de manipuler les documents XML, mais juste de les lire, la méthode SAX peut également être choisie car elle traite les éléments de façon successive sans charger le document en mémoire. Elle s'impose quand la taille du document excède la capacité de la mémoire.

Évènements

La capture d'un évènement consiste à exécuter une action (par exemple un programme en JavaScript) lorsque l'évènement surveillé se produit dans le document. Ces évènements capturables sont :

  • évènements page et fenêtre
    • onabort - s'il y a une interruption dans le chargement
    • onerror - en cas d'erreur pendant le chargement de la page
    • onload - après la fin du chargement de la page
    • onbeforeunload - se produit juste avant de décharger la page en cours (par changement de page, en quittant)
    • onunload - se produit lors du déchargement de la page (par changement de page, en quittant)
    • onresize - quand la fenêtre est redimensionnée
  • évènements souris
    • onclick - sur un simple clic
    • ondblclick - sur un double clic
    • onmousedown - lorsque que le bouton de la souris est enfoncé, sans forcément le relâcher
    • onmousemove - lorsque la souris est déplacée
    • onmouseout - lorsque la souris sort de l'élément
    • onmouseover - lorsque la souris est sur l'élément
    • onmouseup - lorsque le bouton de la souris est relâché
  • évènements clavier
    • onkeydown - lorsqu'une touche est enfoncée
    • onkeypress - lorsqu'une touche est pressée et relâchée
    • onkeyup - lorsqu'une touche est relâchée
  • évènements formulaire
    • onblur - à la perte du focus
    • onchange - à la perte du focus si la valeur a changé
    • onfocus - lorsque l'élément prend le focus (ou devient actif)
    • onreset - lors de la remise à zéro du formulaire (via un bouton "reset" ou une fonction reset())
    • onselect - quand du texte est sélectionné
    • onsubmit - quand le formulaire est validé (via un bouton bouton de type "submit" ou une fonction submit())

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Document Object Model de Wikipédia en français (auteurs)

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

  • Document object model — Pour les articles homonymes, voir DOM. Le Document Object Model (ou DOM) est une recommandation du W3C qui décrit une interface indépendante de tout langage de programmation et de toute plate forme, permettant à des programmes informatiques et à… …   Wikipédia en Français

  • Document Object Model — Document Object Model,   DOM …   Universal-Lexikon

  • Document Object Model — Not to be confused with Domain Object Model. HTML HTML and HTML5 Dynamic HTML XHTML XHTML Mobile Profile and C HTML Canvas element Character encodings Document Object Model Font family HTML editor HTML element HTML Fr …   Wikipedia

  • Document Object Model —     HTML HTML и HTML5 Динамический HTML …   Википедия

  • Document Object Model — Jerarquía de DOM. El Document Object Model o DOM ( Modelo de Objetos del Documento o Modelo en Objetos para la representación de Documentos ) es esencialmente una interfaz de programación de aplicaciones (API) que proporciona un conjunto estándar …   Wikipedia Español

  • Document Object Model — DOM Knotenbaum einer Webseite Document Object Model (DOM) ist eine Spezifikation einer Schnittstelle für den Zugriff auf HTML oder XML Dokumente. Sie wird vom World Wide Web Consortium definiert. Eine Implementierung, die dieser Spezifikation… …   Deutsch Wikipedia

  • Document object model — DOM Knotenbaum einer Webseite Das Document Object Model (DOM) ist eine Spezifikation einer Schnittstelle für den Zugriff auf HTML oder XML Dokumente. Sie wird vom World Wide Web Consortium definiert. Eine Implementierung, die dieser Spezifikation …   Deutsch Wikipedia

  • Document Object Model — El DOM o Document Object Model (en inglés, Modelo de Objetos de Documento) es una forma de representar documentos estructurados (tales como una página web HTML o un documento XML) que es independiente de cualquier lenguaje orientado a objetos. Su …   Enciclopedia Universal

  • document object model — dokumento objektų modelis statusas T sritis informatika apibrėžtis Nuo programavimo kalbos ir ↑platformos nepriklausoma ↑sąsaja, naudojama programose ir ↑scenarijuose hiperteksto dokumentų objektais dinamiškai manipuliuoti – pasiekti ir… …   Enciklopedinis kompiuterijos žodynas

  • DOCUMENT OBJECT MODEL (DOM) — См. ОБЪЕКТНАЯ МОДЕЛЬ ДОКУМЕНТА Словарь бизнес терминов. Академик.ру. 2001 …   Словарь бизнес-терминов

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”