SELFHTML/Quickbar
JavaScript
Référence objet
![]() |
document |
![]() |
Propriétés:
Méthodes:
Sous-objets:
|
![]() |
L'objet document se réfère au contenu affiché dans la fenêtre du
navigateur. Dans la hiérarchie objet de JavaScript il se trouve sous l'objet window.
L'objet document contient une série de propriétés et méthodes qui lui
sont propres. L'adressage de ces propriétés et méthodes fonctionne de la
façon suivante:
x = document.title; x = window.document.title; secondefenetre = window.open("fichier2.htm", "fenetre"); x = secondefenetre.document.title; y = parent.frames[2].document.bgColor; document.write("Hello monde"); window.document.write("Hello monde"); secondefenetre.document.close(); parent.frames[2].document.close(); |
Vous pouvez adresser avec document les propriétés de l'objet
document, comme par exemple le titre du fichier HTML affiché (<title>...</title>) -
le titre du fichier sera donc adressé avec document.title. De façon similaire, on adresse
les méthodes de l'objet document, par exemple la méthode write avec document.write().
Vous pouvez également noter window.document.title ou window.document.write().
Étant donné qu'il s'agit du contenu de la fenêtre actuelle, la mention du
nom de la fenêtre n'est pas absolument nécessaire. Il en va autrement pour
l'accès à d'autres fenêtres ou à des fenêtres frames. Dans ces cas là vous
devez adresser la fenêtre correctement. Lisez pour les fenêtres
supplémentaires la partie sur l' utilisation
de l'objet window et pour les fenêtres frames la partie sur l'
utilisation
de l'objet frame.
![]() ![]() |
Sauvegarde la couleur pour les liens alors qu'ils sont cliqués, comme elle
peut être fixée par l'attribut alink= dans le repère <body>
ou par l'utilisateur dans les réglages de son navigateur (voir aussi couleur
pour le texte et les liens).
<html><head><title>Test</title> <script language="JavaScript"> var i = 0; function autrecouleur() { if(i == 0) document.alinkColor = "000000"; else if(i == 1) document.alinkColor = "FF0000"; else if(i == 2) document.alinkColor = "0000FF"; else if(i == 3) document.alinkColor = "green"; i = i + 1; if(i > 3) i = 0; } </script> </head><body> <a href="javascript:autrecouleur()">couleur du lien</a> </body></html> |
L'exemple appelle, lorsqu'on clique sur le lien, une fonction du nom de autrecouleur().
Cette fonction modifie à chaque fois qu'elle est appelée la valeur de document.alinkColor.
Notez que pour cela, les couleurs sont notées soit sous forme hexadécimale, sans
être toutefois précédées du signe dièse (#) comme en HTML - soit sous forme de noms de
couleur autorisés (voir aussi définir
les couleurs en HTML). La valeur doit dans tous les cas figurer entre guillemets.
![]() ![]() |
Sauvegarde la couleur d'arrière plan du fichier HTML, comme elle peut être
fixée par l'attribut bgcolor= dans le repère <body> ou
par l'utilisateur dans les réglages de son navigateur. (voir aussi couleur
pour l'arrière plan).
<html><head><title>Test</title> <script language="JavaScript"> var X = new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"); var x1 = 0, x2 = 0; for(i = 0; i < 255; ++i) { document.bgColor = X[x1] + X[x2] + X[x1] + X[x2] + X[x1] + X[x2]; x2 = x2 + 1; if(x2 % 16 == 0) { x2 = 0; x1 = x1 + 1; } } </script> </head><body> </body></html> |
L'exemple fait à la lecture du fichier un fondu enchaîné depuis le noir en
passant par les nuances de gris jusqu'au blanc. Pour cela un Array X
a été défini, dans lequel les chiffres hexadécimaux de 0 à 9 et de A
à F ont été sauvegardés. Dans une boucle for il est compté de 0 à 255. La
raison en est que la valeur maximale d'une valeur de couleur RGB peut être 255 (sous forme décimale).
À l'intérieur de la boucle, une nouvelle couleur
est attribuée à chaque tour de boucle à la propriété document.bgColor.
Ce faisant, une mention de couleur valable est reconstituée avec les chiffres prédéfinis
de l' Array X.
Notez que pour cela, les couleurs sont notées soit sous forme hexadécimale, sans
être toutefois précédées du signe dièse (#) comme en HTML - soit sous forme de noms de
couleur autorisés (voir aussi définir
les couleurs en HTML). La valeur doit dans tous les cas figurer entre
guillemets. Ce n'est pas le cas dans l'exemple ci-dessus étant donné qu'il
s'agit là d'une chaîne de caractères générée dynamiquement. Autrement, les mentions seraient par
exemple "0099CC" ou "blue".
![]() ![]() |
Sauvegarde le jeu de caractères défini d'un document.
<html><head><title>Test</title> <meta http-equiv="content-type" content="text/html;CHARSET=iso-8859-1"> <script language="JavaScript"> function iso5() { document.charset="iso-8859-5"; document.open(); document.write("texte avec ä ö ü é ç Ç à æ Æ "); document.close(); } </script> </head><body> <a href="javascript:iso5()">iso-8859-5</a> </body></html> |
L'exemple contient dans l'entête du fichier une mention pour la définition
du jeu de caractères. Là a été défini iso-8859-1 (le jeu de caractères
standard pour les langues occidentales y compris l'allemand). En outre le
fichier contient un lien. En le cliquant, la fonction iso5() est
appelée. Cette fonction modifie le jeu de caractères en iso-8859-5 (cyrillique).
Ensuite des contenus sont écrits dans la fenêtre du document de façon
dynamique. L'Explorer Internet MS écrit le texte mentionné dans la fenêtre
du document tout en activant cependant une police Unicode spéciale pour
la représentation.
Veillez pour écrire le nouveau contenu à utiliser les méthodes
open() et
close().
![]() ![]() |
Les cookies (cookies = biscuits - l'origine du nom est inconnue) vous
offrent la possibilité, directement depuis un fichier HTML, de sauvegarder des
données sur l'ordinateur de l'utilisateur et de les lire lors d'un nouvel appel
du même fichier HTML. Ainsi une page WWW peut elle réagir de façon dynamique
à des données sauvegardées. Seuls les cookies que
l'on a posés soi-même peuvent être lus. Une transmission de virus par des cookies
est exclue.
Un cookie correspond à peu près à une inscription dans un fichier INI
sous MS-Windows. Une variable avec une nouvelle valeur est sauvegardée, par
exemple la date et l'heure de la dernière visite d'une page WWW. Les cookies ne
peuvent lire aucune donnée de l'ordinateur de l'utilisateur. Étant donné la
méfiance qui règne chez les utilisateurs qui ne savent pas ce qu'est un
cookie, vous ne devez les employer que si vous avez une bonne raison de le faire.
Netscape gère les Cookies dans un fichier du nom de COOKIES.TXT sur
l'ordinateur de l'utilisateur. L'Explorer Internet MS gère les cookies dans un
sous répertoire du répertoire Windows. Pour l'Explorer Internet MS, les
cookies ne fonctionnent que lorsque le fichier HTML est chargé dans le
navigateur par le protocole HTTP.
<html><head><title>Test</title> <script language="JavaScript"> var sauvegarde = "rien n'est sauvegardé"; if(document.cookie) sauvegarde = document.cookie; else document.cookie = "Date =" + document.lastModified; alert(document.lastModified + " - " + sauvegarde); </script> </head><body> </body></html> |
La lecture d'un cookie fonctionne d'après le schéma x = document.cookie.
L'écriture d'un cookie fonctionne d'après le schéma document.cookie = x.
L'exemple demande à la lecture du fichier si ce fichier a déjà posé un
cookie. Une telle demande est possible avec if(document.cookie). Dans
l'exemple, la variable sauvegarde se voit affecter la valeur du cookie
sauvegardé, au cas où un cookie est disponible. Dans l'alternative else de
l'exemple est considéré le cas où aucun cookie n'a encore été posé. Dans
ce cas, la chaîne de caractères Date = est écrite comme cookie,
suivie de la valeur de lastModified.
À la fin deux valeurs sont données avec
alert()
: à savoir la valeur de document.lastModified et la valeur de la
variable sauvegarde. Si un cookie est posé (donc à partir du
deuxième appel du fichier), le contenu du cookie est sorti, il se distingue de document.lastModified,
si le fichier a été modifié entre temps.
En posant un cookie, vous pouvez en outre mentionner une date de péremption.
Quand l'échéance est atteinte, le navigateur efface lui-même le cookie. Pour
cela, notez une instruction telle que:
document.cookie += "expires=" + cookieDate(time + 1000*60*60*24*5)
Ainsi le cookie est complété par une inscription de la form expires=.
Une fonction spéciale cookieDate() permet de poser une
échéance. Transmettez à la fonction comme paramètre time (la date
actuelle) plus le nombre de millièmes de secondes à partir de la date actuelle
après lequel le cookie doit être effacé. Pour cela, vous pouvez comme dans
l'exemple transmettre une chaîne de multiplications: 1000 millièmes de seconde
sont une seconde, multipliée par 60 font une minute, multiplié par 60 font une
heure, par 24, un jour et par 5 font cinq jours.
![]() ![]() |
Sauvegarde le jeu de caractères que l'utilisateur a installé comme standard sur son navigateur. Si le fichier ne contient pas de mention Meta pour le jeu de caractères utilisé, c'est le jeu de caractères standard qui sera pris.
<html><head><title>Test</title> <script language="JavaScript"> alert("Vous avez réglé le jeu de caractères suivant comme standard: " + document.defaultCharset); </script> </head><body> </body></html> |
L'exemple sort à la lecture grâce à alert()
quel jeu de caractères l'utilisateur a choisi comme jeu de caractères standard.
![]() ![]() |
Sauvegarde la couleur pour le texte comme elle peut être fixée par
l'attribut text= dans le repère <body> ou par
l'utilisateur dans les réglages de son navigateur (voir aussi couleur
pour le texte et les liens).
<html><head><title>Test</title> <script language="JavaScript"> if(parent.frames[0].document.fgColor == "000000") document.fgColor = "FF0000"; </script> </head><body> </body></html> |
L'exemple suppose que le fichier actuel se trouve dans un jeu de frames. En
lisant le fichier il est vérifié si la couleur de texte d'une autre (de la
première) fenêtre frame est le noir (if(parent.frames[0].document.fgColor == "000000")).
Si c'est le cas la couleur du texte du fichier actuel est réglée sur le rouge (document.fgColor = "FF0000";).
Pensez que les modifications de couleurs pour la couleur de texte prennent effet
avant que tout texte HTML soit lu.
Notez que pour cela, les couleurs sont notées soit sous forme hexadécimale, sans
être toutefois précédées du signe dièse (#) comme en HTML - soit sous forme de noms de
couleur autorisés (voir aussi définir
les couleurs en HTML). La couleur doit dans tous les cas figurer entre
guillemets
![]() ![]() |
Sauvegarde la date et l'heure de la dernière modification du fichier dans le format international d'après GMT (heure de Greenwich).
<html><head><title>Test</title> </head><body> <script language="JavaScript"> document.write("dernière mise à jour: " + document.lastModified); </script> </body></html> |
L'exemple écrit de façon dynamique dans le fichier HTML grâce à la
méthode write()
l'heure de la dernière modification.
![]() ![]() |
Sauvegarde le couleur pour les liens comme elle peut être fixée par
l'attribut link= dans le repère <body> ou par
l'utilisateur dans les réglages de son navigateur (voir aussi couleur
pour le texte et les liens).
<html><head><title>Test</title> <script language="JavaScript"> document.linkColor = parent.frames[0].document.linkColor; </script> </head><body> </body></html> |
L'exemple suppose que le fichier actuel se trouve dans un jeu de frames. À
la lecture du fichier, la couleur des liens du fichier actuel est réglée sur
la même couleur que la couleur de lien du fichier qui se trouve dans une autre
(la première) fenêtre frame.
Pensez que les modifications de couleurs pour la couleur de texte prennent
effet avant que tout texte HTML soit lu.
Notez que pour cela, les couleurs sont notées soit sous forme hexadécimale, sans
être toutefois précédées du signe dièse (#) comme en HTML - soit sous forme de noms de
couleur autorisés (voir aussi définir
les couleurs en HTML). La couleur doit dans tous les cas figurer entre
guillemets
![]() ![]() |
Sauvegarde l'adresse URL à partir de laquelle le fichier actuel a été appelé. La condition préalable est que le fichier actuel ait été appelé par l'intermédiaire d'un lien. Si l'adresse du fichier a été choisie par exemple à partir d'un signet ou entrée directement dans la ligne d'adresse du navigateur, rien n'est sauvegardé dans document.referrer. Pour l'Explorer Internet MS, n'est sauvegardé une valeur dans document.referrer que lorsque l'appel du fichier actuel a eu lieu par protocole HTTP - à savoir donc avec un lien du type http://...../cefichier.htm.
<html><head><title>Test</title> </head><body> <script language="JavaScript"> document.write("<h1>Cher visiteur</h1>"); document.write("Tu es venu de " + document.referrer + " pour nous trouver ici"); </script> </body></html> |
L'exemple sort un texte HTML avec la méthode write()
qui donne l'adresse de laquelle l'utilisateur a appelé le fichier actuel.
![]() ![]() |
Sauvegarde le titre d'un fichier HTML tel qu'il a été affecté avec les repères <title>...</title>.
<html><head><title>Test</title> </head><body> <h1> <script language="JavaScript"> document.write(document.title); </script> </h1> </body></html> |
L'exemple écrit de façon dynamique le titre d'un fichier HTML comme contenu
avec la méthode write()
dans un titre N°1 (<h1>...</h1>).
![]() ![]() |
Sauvegarde l'adresse URL complète du document actuel.
<html><head><title>Test</title> <script language="JavaScript"> </script> </head><body> <script language="JavaScript"> document.write("Ce fichier: " + document.URL); </script> </body></html> |
L'exemple écrit avec la méthode write()
l' adresse URL complète du ficher actuel dans le texte. Cela peut être approprié par
exemple quand le fichier fait partie d'un jeu de frames. Les utilisateurs
peuvent alors se référer à l'adresse URL exacte s'ils veulent communiquer
quelque chose au sujet du contenu de la frame affichée.
![]() ![]() |
Sauvegarde la couleur pour les liens à des pages déjà visitées comme elle
peut être fixée par l'attribut vlink= dans le repère <body>
ou par l'utilisateur dans les réglages de son navigateur (voir aussi définir
les couleurs en HTML)
<html><head><title>Test</title> <script language="JavaScript"> document.vlinkColor = parent.frames[0].document.vlinkColor; </script> </head><body> </body></html> |
L'exemple suppose que le fichier actuel se trouve dans un jeu de frames. À
la lecture du fichier la couleur pour les liens menant à des pages déjà
visitées du fichier actuel est réglée comme la couleur du fichier qui se
trouve dans une autre (la première) fenêtre frame.
Pensez que les modifications de couleurs pour la couleur de texte prennent
effet avant que tout texte HTML soit lu.
Notez que pour cela, les couleurs sont notées soit sous forme hexadécimale, sans
être toutefois précédées du signe dièse (#) comme en HTML - soit sous forme de noms de
couleur autorisés (voir aussi définir
les couleurs en HTML). La couleur doit dans tous les cas figurer entre
guillemets.
![]() ![]() |
Surveille les évènements de l'utilisateur dans le document actuel.
fonctionne exactement comme captureEvents()
pour l'objet window (pour plus de détails, s'y référer). La seule
différence réside dans le fait qu'avec document.captureEvents()
vous ne pouvez surveiller que des évènements dans la fenêtre du document, et
non pas des évènements dans la totalité de la fenêtre (à laquelle
appartiennent aussi par exemple la barre de titre, la barre des menus etc...).
![]() ![]() |
Ferme un contenu de document qui a été ouvert avec la méthode open()
et écrit avec
write()
ou
writeln().
<html><head><title>Test</title> </head><body> <script language="JavaScript"> document.open(); document.write(document.URL); document.close(); </script> </body></html> |
L'exemple ouvre le contenu du document pour écrire et écrit ensuite quelque chose
(l'adresse URL actuelle) avec la méthode write(),
et termine enfin le processus avec document.close().
![]() ![]() |
Recherche du texte sélectionné par l'utilisateur dans le document.
<html><head><title>Test</title> </head><body> beaucoup de texte à sélectionner beaucoup de texte à sélectionner <form> <input type=button value="montrer" onClick="alert(document.getSelection());"> </form> </body></html> |
L'exemple donne quand on clique sur le bouton défini le résultat de l'appel
de la méthode document.getSelection() avec alert().
La condition préalable en est que du texte ait été sélectionné auparavant.
Autrement document.getSelection() donne une chaîne de caractères
vide ("") comme résultat.
![]() ![]() |
Transmet un évènement à un élément qui est capable de réagir à
l'évènement. Cela fonctionne exactement comme handleEvent()
pour l'objet window (pour plus de détails s'y référer). La seule
différence réside dans le fait que document.handleEvent() ne peut
transmettre que des évènements qui sont surveillés avec
document.captureEvents().
![]() ![]() |
Ouvre un document pour écrire. Pour cela, aucune fenêtre n'est ouverte mais
le contenu de la fenêtre est libéré pour l'écriture. Au cas où le document
avait un contenu auparavant, par exemple un fichier HTML chargé en premier lieu,
vous devez d'abord appeler la méthode close().
Peut être appelé sans, avec un ou avec deux paramètres. Les paramètres
suivants sont possibles:
1. Type Mime = Une désignation du type Mime pour le genre de
données qui doivent être écrites dans la fenêtre du document. Ainsi vous
pouvez avec la mention "x-world/x-vrml" ouvrir
la fenêtre du document pour écrire du code VRML. Avec les commandes write()
et
writeln(),
vous pouvez alors écrire du code VRML de façon dynamique.
2. replace = Avec document.open("text/html","replace")
vous ouvrez le document pour écrire en HTML et faites en sorte que le nouveau
contenu du document occupe la même place dans l'historique des pages visitées
que le document dans lequel se trouve la commande open.
<html><head><title>Test</title> </head><body> <script language="JavaScript"> function change() { document.open(); document.write("<a href=\"fichier.htm\">Et maintenant je suis ici</a>"); document.close(); } document.open(); document.write("<a href=\"javascript:change()\">Je suis encore ici</a>"); document.close(); </script> </body></html> |
Le script en exemple exécute dans un premier temps la partie inférieure du
code étant donné que la partie supérieure fait partie de la fonction change(),
qui ne sera exécutée que sur appel. Dans la partie inférieure un lien est
écrit, dans la fenêtre du document, de façon dynamique avec JavaScript. Si
l'utilisateur clique sur le lien la fonction change() est
appelée. Cette fonction ouvre la fenêtre du document pour écrire à nouveau
et écrit de façon dynamique un lien au fichier actuel (il
est supposé que le fichier-exemple s'appelle fichier.htm). Si
l'utilisateur clique sur le lien, le fichier est chargé et ainsi c'est le
premier lien qui est écrit à nouveau.
Notez que l'exemple ne fonctionne comme c'est décrit qu'à partir de Netscape 3.x.
Certes, Netscape 2.x connaît déjà aussi document.open(), mais ne vide pas la fenêtre du document.
![]() ![]() |
Termine la surveillance d'évènements utilisateur. Fonctionne exactement comme
releaseEvents()
pour l'objet window (pour plus de détails, s'y référer). La seule
différence réside dans le fait que document.releaseEvent() ne peut
terminer que des surveillances d'évènements qui sont commencées avec
document.captureEvents().
![]() ![]() |
Transmet un évènement utilisateur à l'objet document. À partir de là
l'évènement est transmis plus bas dans la hiérarchie jusqu'à ce qu'il
rencontre un Event-Handler qui traite l'évènement. Fonctionne exactement
comme routeEvent()
pour l'objet window (pour plus de détails, s'y référer). La seule
différence réside dans le fait que document.routeEvent() ne
s'applique pas au niveau de la fenêtre, mais au niveau du document.
![]() ![]() |
Sort un texte dans le document. Attend une chaîne de caractères ou une expression JavaScript comme paramètre.
<html><head><title>Test</title> </head><body> <script language="JavaScript"> tonnom = prompt("Donne ton nom:","nom"); document.write("Bonjour " + tonnom); </script> </body></html> |
L'exemple montre à la lecture du fichier avec prompt()
une boite de dialogue dans laquelle l'utilisateur doit entrer son nom. La valeur
entrée est sauvegardée dans la variable tonnom. Enfin est
écrit avec document.write() le mot "Bonjour"
suivi d'un espace. À la suite de cette chaîne de caractères est accrochée la
variable tonnom. Ainsi par exemple on a à la suite dans le texte
"Bonjour Pétra" si dans la boite de dialogue "Pétra" a été
entré comme nom.
Il est également permis d'utiliser plusieurs chaînes de caractères ou
expressions séparées par des virgules dans document.write(), par
exemple:
document.write("Vous utilisez ", document.layers ? "Netscape
à partir de V4" : "pas Netscape à partir de V4");
Cet exemple contient d'abord une chaîne de caractères, puis séparée par une
virgule une expression complexe qui recherche si l'utilisateur utilise un
navigateur qui reconnaît l'objet layers.
![]() ![]() |
Comme write() -
insère cependant automatiquement un saut de ligne à la fin. C'est pourquoi
cette méthode est avant tout intéressante pour écrire des contenus dans
lesquels les passages à la ligne sont importants.
<html><head><title>Test</title> </head><body> <script language="JavaScript"> document.open("text/plain"); document.writeln("première ligne"); document.writeln("deuxième ligne"); document.writeln("troisième ligne"); document.close(); </script> </body></html> |
L'exemple écrit trois lignes comme type Mime "text/plain" (pur fichier texte). À la fin de chaque commande document.writeln() est inséré automatiquement un passage à la ligne.
![]() | |
après:![]() |
![]() |
avant:![]() |
![]() |
SELFHTML/Quickbar
JavaScript
Référence objet
Serge François, 13405@free.fr