Bonjour à tous,

Je viens vous voir pour un petit soucis que je ne comprends pas trop à l'utilisation des fonctions javascripts top.frames et parent.frames.

Oui, je sais, les Frames c'est pas la panacée, mais comme j'affiche une appli externe en page centrale, c'est quand même ce que j'ai trouvé de plus pratique.

J'ai 3 fichiers
haut.html, le fichier principal
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<html>
<head>
<title>Test Javascript Top.frames['kkk'].location.href</title>
</head>
<FRAMESET ROWS="130,*" Frameborder="No">
	<FRAME SRC="haut.html"
		NAME="frmPBando">
	<FRAMESET COLS="200, *" Frameborder="No">
		<FRAME SRC="menu.html"
			NAME="frmPBMenu">
		<FRAME SRC="http://www.bing.com/?cc=fr" NAME="frmPBo">
	</FRAMESET>
</FRAMESET>
<NOFRAMES>
<BODY>
Cette page HTML nécessite un navigateur supportant les frames, veuillez
nous en excuser.
</BODY>
</NOFRAMES>
</html>
haut.html, le bandeau
<html>
<head>
</head>
<BODY>
Bandeau en haut<BR />
<b>Target</b> : <a href="http://www.google.fr" target='frmPBo'>Google</a> - <a href="http://www.facebook.fr" target='frmPBo'>Facebook</a> - <b>JS Parent</b> : <a href="javascript:parent.frames['frmPBo'].location.href='http://www.google.fr'">Google</a> - <a href="javascript:parent.frames['frmPBo'].location.href='http://www.facebook.fr'">Facebook</a> - <b>JS Top</b> : <a href="javascript:top.frames['frmPBo'].location.href='http://www.google.fr'">Google</a> - <a href="javascript:top.frames['frmPBo'].location.href='http://www.facebook.fr'">Facebook</a>
</BODY>
</html>
menu.html... le menu
<html>
<head>
</head>
<BODY>
<ul>
<li>Tests Target
<ul>
<li><a href="http://www.google.fr" target='frmPBo'>Google</a></li>
<li><a href="http://www.facebook.fr" target='frmPBo'>Facebook</a></li>
</ul>
</li>
<li>Tests Javascripts Parent
<ul>
<li><a href="javascript:parent.frames['frmPBo'].location.href='http://www.google.fr'">Google</a></li>
<li><a href="javascript:parent.frames['frmPBo'].location.href='http://www.facebook.fr'">Facebook</a></li>
</ul>
</li>
<li>Tests Javascripts Top
<ul>
<li><a href="javascript:top.frames['frmPBo'].location.href='http://www.google.fr'">Google</a></li>
<li><a href="javascript:top.frames['frmPBo'].location.href='http://www.facebook.fr'">Facebook</a></li>
</ul>
</li>
</BODY>
</html>
Normalement, les 3 types de liens, qu'ils soient en haut ou dans le menu devraient faire la même chose. Ils actualisent tous la frame centrale mais dans le cas de l'utilisation de JavaScript, il y a mise à jour du cadre qui appelle le lien... et ça, je ne comprends pas pourquoi, et surtout, comment l'empêcher?

Merci d'avance pour votre aide.