- · Niveau : INTERMÉDIAIRE
- · Compatibilité : Netscape 3+ IE 3+
Le HTML ne permet pas d’ouvrir plusieurs liens en même temps. Pour ce faire vous pouvez utiliser le Javascript pour ouvrir les documents dans les cadres désirés.
Il est donc très façile de modifier les propriétés d’un document contenu dans un cadre.
Exemple
Parent.NomDuCadre.document
Permet de modifier ou d’obtenir les propriétés du cadre "NomDuCadre". Donc :
Parent.NomDuCadre.document.bgcolor
Permet de modifier ou d’obtenir la couleur de fond du document du cadre "NomDuCadre". Vous avez tout compris, il est donc possible de modifier à la volée les propriétés d’un document. Voici comment modifier la propriété "location" d’un document qui permet de changer la page affichée dans un cadre. Noter que le nom du cadre "NomDuCadre" est la valeur donner à l’attribut "SRC" dans la déclaration d’un "FRAMESET".
Parent.NomDuCadre.document.location = "http://url.com";
ou
Parent.NomDuCadre.location = "http://url.com";
- Plusieurs cadre à la fois
Parent.NomDuCadre1.location = "http://url1.com";
Parent.NomDuCadre2.location = "http://url2.com";
Exemple avec ce "frameset"
<frameset cols="200,*">
<frame SRC="menu1.htm" NAME="menu">
<frame SRC="text1.htm" NAME="text">
</frameset>
Avec un formulaire
<INPUT
TYPE="button" VALUE="Voir le Texte #2"
onClick="parent.text.location=’text2.htm’">
Exemple complet
Personnellement je me fais une fonction que j’appelle par la suite avec les liens
hypertexte.
<HEAD>
<script language="Javascript">
<!--
function go(nURL) {
if (nURL==1) {
parent.menu.location="menu1.htm";
parent.text.location="text1.htm"
}
if (nURL==2) {
parent.menu.location="menu2.htm";
parent.text.location="text2.htm"
}
}
// -->
</script>
</HEAD>
<BODY>
<a HREF="javascript:go(1)">Lien
1</A><BR>
<a
HREF="javascript:go(2)">Lien 2</A>
</BODY>
Syntaxe et propriétés d’un cadre
- [RéférenceFenêtre.]NomCadre.NomPropriété
- [RéférenceFenêtre.]frame[index].NomPropriété
- Window.NomPropriété
- self.NomPropriété
- parent.NomPropriété
- RéférenceFenêtre = Variable "WindowVar" de la définition de la fenêtre ou " window " en d’autres mots le nom de la fenêtre principale. Parent et self sont synonymes.
- NomCadre = valeur de l’attribut " NAME " de la balise " FRAME " en d’autres mots le nom du cadre.
- Index = un " interger " représentant un objet cadre. Car les cadres d’un document sont stockés dans un tableau. (frame[0], frame[1], frame[2]…)
- NomPropriété = une des propriétés du cadre ou du document.
Propriété d’un cadre
- Frames = tableau contenant chaque cadre d’une fenêtre (commence à 0)
- Name = l’attribut NAME de la balise " frame "
- Length = le nombre d’enfants de l’objet cadre. Si le cadre contient lui-même un " frameset "
- Parent = synonyme de la fenêtre ou du " frameset " qui contient le cadre.
- Self = synonyme du cadre courant.
- Window = synonyme du cadre courant.
Le tableau des cadres a aussi une propriété " length " pour savoir le nombre de cadres dans le tableau.
NOTE : L’attribut " NAME " d’un cadre donner dans la déclaration d’un " frameset " peut aussi être donnée directement en utilisant " OPEN " qui permet d’ouvrir une nouvelle fenêtre, voir le tutoriel à ce sujet. Cadre2 est le nom du cadre parent ou de la fenêtre.
<script>
Mafenetre2=open("cadre2.htm", "cadre2")
</script>