Envoyé par
reilo
Dans la page du pop-up, il est dit de mettre :
<a href="lien.htm" target="cible">Texte du lien</a>
avec dans mon exemple, je suppose,
PgEssai.html à la place de
lien.htm et
cadreB.html à la place de
cible !
Pas tout à fait : tu as peut être choisi de nommer ta frame cadreB.html, mais ce n'est pas forcément une bonne idée du fait des ambigüités que ce nom génère. Appelons-là "toto" pour l'exemple, ça éviteras les confusions
Soit, donc, ton ex-cadreB :
<frame name="toto" src="une_page.html"></frame>
Tu peux la mettre à jour à partir de ton cadreA (dont le name importe peu) avec :
1 2 3 4 5 6 7
| function ouvrir() {
var index=document.forms[0].elements[0].options.selectedIndex;
if (index>0) {
var page=document.forms[0].elements[0].options[index].value;
top.frames['toto'].location.replace('une_autrepage.htm');
}
} |
(pour reprendre l'exemple de la FAQ)
"top" représente la fenêtre de niveau le plus haut, c'est à dire celle contenant toutes les frames de ta page.
Ca évite de savoir si la frame de départ est elle-même inclus dans une frame (elle-même inclus dans une frame, elle-même inclus dans une frame etc .....)
Qu'est-ce qui ne marche pas si tu fais ça ?
Quant au code et explications que tu as trouvé sur les pop, il faudrait que tu changes de sources
Utilise celle-ci, par exemple
En effet, il y a une erreur de logique : le name est attribuée à la pop lors de son ouverture (window.name = "cible"; ) alors que ce name est justement utilisé dans la syntaxe du window.open() pour cibler cette même fenêtre.
C'est l'histoire du serpent qui n'arrivera jamais à se mordre la queue
De plus les méthodes utilisées sont un peu anciennes (comme les frames).
Ah, au fait, pour mettre en forme ton code, utilise le bouton "#" de l'éditeur
A+
Partager