Toute page web chargée dans un navigateur web a son propre objet document. Cet objet sert de point d'entrée au contenu de la page et apporte des fonctions générales au document.

L'interface de l'objet document permet d'accéder à de nombreuses choses comme le type de document, son URL, l'arbre DOM (incluant des éléments tels que <body> ou encore <table>), tout en fournissant des méthodes pour créer et manipuler chacun des sous-nœuds du document.

L'objet document, peut être obtenu depuis différentes APIs :

  • Principalement, pour travailler avec le document sur lequel s'éxecute le script, en utilisant l'objet document (il se trouve en fait dans window.document).
  • Le document d'une iframe, par la propriété de l'iframe contentDocument.
  • Par responseXML d'un objet XMLHttpRequest.
  • Le document auquel appartient un nœud ou un élément peut être récupéré par la propriété ownerDocument du nœud.
  • Et plus encore...

Dans le DOM, l'objet document fournit une manière générale de représenter les documents HTML, XHTML et XML. Les objets document implémentent l'interface DOM Core Document.

En plus cette interface généralisée de document, les documents HTML implémentent l'interface DOM HTMLDocument, qui est une interface spécialisée pour le traitement des documents HTML (par exemple avec document.cookie ou document.alinkColor).

Les méthodes et les propriétés listées ici qui font parties d'une interface spécialisées sont présentées avec une astérisque (*) à côté de leur nom et ont des informations additionnelles dans la colonne Disponibilité.

Notez que certaines APIs listées ci-dessous ne sont pas disponibles dans tous les navigateurs web, pour différentes raisons :

  • Obsolète : en cours de suppression dans les navigateurs web supportant cette méthode/propriété
  • Non-standard : il s'agit soit d'une fonctionnalité expérimentale pas (encore?) acceptée par tous les fabricants, ou une fonctionnalité spécifique au code du navigateur (par exemple Mozilla a quelques APIs DOM créés pour la création d'add-ons et le développement d'applications).
  • Ou il s'agit d'un standard emergeant ou terminé mais qui n'a pas (encore?) été implémenté par les navigateurs web.

Le support détaillé par navigateur web est détaillé sur chaque page de propriété ou méthode.

Propriétés

document.activeElement
Renvoie l'élément courant qui a la focus.
document.alinkColor*
Renvoie ou définit la couleur des liens actifs du document.
document.anchors*
Renvoie une liste de toutes les ancres du document.
document.applets*
Renvoie une liste ordonnée des applets du document.
document.async
Utilisé avec document.load pour indiquer une requête asynchrone.
document.baseURIObject
Renvoie un objet nsIURI représentant l'URI de base pour le document.
document.bgColor*
bgColor renvoie ou définit la couleur d'arrière plan du document courant.
document.body*
body renvoie le nœud BODY du document.
document.characterSet
Renvoie le jeu de caractères utilisé par le document.
document.compatMode*
Indique si le document est rendu en mode Quirks ou Strict.
document.contentType
Renvoie l'en-tête MIME Content-Type du document courant.
document.cookie*
Renvoie une liste des cookies du document, séparés par des points virgules, ou définit un cookie.
document.currentScript*
Renvoie l'élement <script> s'executant actuellement.
document.defaultView
Renvoie une référence à l'objet window.
document.designMode*
designMode renvoie ou définit les capacités d'édition WYSYWIG de Midas.
document.dir
Assigne / renvoie le sens du texte (rtl/ltr) du document
document.doctype
Renvoie le DTD (Document Type Definition) du document courant.
document.documentElement
Renvoie l'élément qui est l'enfant direct du document. Pour les documents HTML, il s'agit normalement de l'élément HTML.
document.documentURIObject
Renvoie l'objet nsIURI qui représente l'URI du document. Cette propriété n'a une signification spéciale que dans du code JavaScript privilégié (avec les privilèges UniversalXPConnect).
document.domain*
domain renvoie le domaine de l'élément courant.
document.embeds*
embeds renvoie une liste des objets (éléments OBJECT) inclus dans le document courant.
document.fgColor*
fgColor renvoie ou définit la couleur du texte du document.
document.firstChild
firstChild renvoie le premier nœud de la liste des enfants directs du document. (Voir aussi firstChild dans les propriétés générales des éléments.)
document.forms*
forms renvoie une liste des éléments FORM du document courant
document.head*
Renvoie l'élément head du document
document.height*
height renvoie ou définit la hauteur du document courant.
document.images*
images renvoie une liste des images du document.
document.implementation*
Renvoie l'implémentation DOM associée au document courant.
document.lastModified*
Renvoie la date de dernière modification du document
document.linkColor*
Renvoie ou définit la couleur des liens du document.
document.links*
Renvoie un tableau de tous les liens du document.
document.location*
Renvoie l'URI (Uniform Ressource Identifier : identifiant uniforme de ressource) du document courant.
document.namespaceURI
Renvoie l'espace de nommage XML du document courant.
document.nodePrincipal
Renvoie l'objet nsIPrincipal qui représente le contexte de sécurité courant du document.
document.plugins*
Renvoie une liste des plugins disponibles.
document.popupNode
Renvoie le nœud sur lequel un popup a été invoqué (documents XUL uniquement).
document.referrer*
Renvoie l'URI de la page qui a amené à cette page.
document.styleSheets*
Renvoie une liste de tous les objets stylesheet (feuilles de styles) du document courant.
document.title*
Renvoie le titre du document courant.
document.tooltipNode
Renvoie le nœud cible de l'élément tooltip courant.
document.URL
Renvoie une chaîne contenant l'URL (Uniform Resource Locator, repère uniforme de ressource) du document courant.
document.vlinkColor*
Renvoie ou définit la couleur des liens visités du document.
document.width*
Renvoie la largeur du document courant.

Méthodes

document.clear*
Dans la plupart des navigateurs modernes, y compris les versions récentes de Firefox et Internet Explorer, cette méthode ne fait rien.
document.close*
Ferme le flux utilisé pour l'écriture du document.
document.createAttribute
Crée un nouveau nœud attribut et le renvoie.
document.createCDATASection
Crée un nouveau nœud CDATA et le renvoie.
document.createComment
Crée un nouveau nœud de commentaire et le renvoie.
document.createDocumentFragment
Crée un nouveau fragment de document.
document.createElement
Crée un nouvel élément du type spécifié.
document.createElementNS
Crée un nouvel élément du type et avec l'URI d'espace de noms spécifiés.
document.createEntityReference
Crée un nouvel objet de référence à une entité et le renvoie.
document.createEvent
Crée un nouvel évènement.
document.createNSResolver
Crée un XPathNSResolver.
document.createProcessingInstruction
Crée un nouvel élément d'instruction de traitement et le renvoie.
document.createRange
Crée un objet Range.
document.createTextNode
Crée un nœud de texte.
document.createTreeWalker
Crée un objet TreeWalker.
document.elementFromPoint
Renvoie l'élément visible aux coordonnées spécifiées.
document.evaluate
Évalue une expression XPath.
document.execCommand*
Exécute une commande Midas.
document.getElementById
Renvoie une référence à l'objet correspondant à l'identifiant donné.
document.getElementsByClassName
Renvoie une liste des éléments ayant le nom de classe donné.
document.getElementsByName
Renvoie une liste des éléments ayant le nom donné.
document.getElementsByTagName
Renvoie une liste des éléments ayant le nom de balise donné.
document.getElementsByTagNameNS
Renvoie une liste des éléments du nom de balise et de l'espace de noms spécifiés.
document.importNode
Renvoie une copie (un clone) d'un élément provenant d'un document externe.
document.load
Charge un document XML
document.loadOverlay
Charge un overlay XUL dynamiquement. Fonctionne uniquement dans les documents XUL.
document.open*
Ouvre un flux pour l'écriture dans le document.
document.queryCommandEnabled*
Renvoie true si la commande Midas peut être exécutée sur l'objet Range courant.
document.queryCommandIndeterm*
Renvoie true si la commande Midas est dans un état indéterminé sur l'objet Range courant.
document.queryCommandState*
Renvoie true si la commande Midas a été exécutée sur l'objet Range courant.
document.queryCommandValue*
Renvoie la valeur courante de la commande Midas sur l'objet Range courant. À partir de Firefox 2.0.0.2, queryCommandValue renverra une chaîne vide lorsqu'aucune valeur de commande n'a encore été définie explicitement.
document.write*
Écrit du texte dans le document.
document.writeln*
Écrit une ligne de texte dans le document.

Gestionnaires d'évènements

Firefox 3 ajoute deux nouveaux évènements : « online » et « offline ». Ces deux évènements sont déclenchés sur l'élément body de chaque page lorsque le navigateur passe en mode hors ligne ou en ligne. De plus, ces évènements se propagent depuis document.body vers document pour se terminer à window. Ils ne sont pas annulables (il n'est pas possible d'empêcher l'utilisateur de se connecter ou se déconnecter). Pour plus d'informations, consultez Évènements online et offline.

document.ononline
Renvoie le code de gestion de l'évènement online.
document.onoffline
Renvoie le code de gestion de l'évènement offline.

Notes concernant la sécurité

Note concernant Firefox 3

Cette section couvre les améliorations de la sécurité faites dans Firefox 3/Gecko 1.9.

Lorsqu'un nouveau document est créé, il est initialement chargé avec « about:blank ». Dans les versions antérieures à Firefox 3, l'accès au contenu des documents « about:blank » n'était pas limité. Bien que cela ne semble pas être un problème significatif, cela pouvait le devenir si du code commençait à ajouter du contenu à ce document vide à l'aide de méthodes et propriétés DOM comme appendChild(), car ce contenu ne serait pas protégé d'un accès non autorisé.

Gecko a été mis à jour dans Firefox 3 afin que les nouveaux documents héritent de leur parent. La sécurité est ainsi améliorée tant pour les iframes et documents en cours de chargement que pour les documents construits programmatiquement.

Étiquettes et contributeurs liés au document

Étiquettes : 
Contributeurs à cette page : vava, thbil, teoli, khalid32, Delapouite, ethertank, tregagnon, Crash, BenoitL, Mgjbot, Takenbot, Gorrk
Dernière mise à jour par : vava,
Masquer la barre latérale