J'ai voulu utiliser cette astuce, mais quelque chose doit m'échapper. J'utilise donc une page divisée en 4 frames (entête, marge de gauche, page centrale, marge de droite)
voici le code de TestIndex.htm :
<html>
<head>
<title>ACCUEIL</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<frameset rows="65,*" frameborder="NO" border="0" framespacing="0" cols="*" bordercolor="#000000">
<frame name="topFrame" scrolling="NO" noresize src="TestEntete.htm" >
<frameset cols="220,*" frameborder="NO" border="0" framespacing="0" rows="*">
<frame name="leftFrame" scrolling="NO" noresize src="TestMarge.htm">
<frameset cols="480,220" frameborder="NO" border="0" framespacing="0" rows="*">
<frame name="mainFrame" src="TestDefaut.htm">
<frame name="rightFrame" scrolling="NO" noresize src="TestLinks.htm">
</frameset>
var queryString = location.search.subString(1);
var nv = queryString.split('&');
var eq = nv[0].indexOf('=');
if(nv[0].substring(0,eq).toLowerCase()=="referer") {
mainFrame.location = unescape(nv[0].subString(eq + 1));
}
</frameset>
</frameset>
<noframes>
<body>
Il va vous falloir un navigateur qui accepte les frames...
</body>
</noframes>
</html>
et dans les pages devant s'afficher dans la frame mainFrame j'ai le code suivant :
<html>
<head>
<title>Toto dans la mainFrame, normalement</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
if(parent.frames.length == 0) parent.location.href = "TestIndex.htm?referer=TestToto.htm";
</script>
</head>
<body>
<h3><font face="Arial, Helvetica, sans-serif">A mettre dans la mainFrame</font></h3>
<p>
Ceci est la page de Toto
</p>
</body>
</html>
la redirection fonctionne et le passage de la variable indiquant de quel page on vient également (puisque l'adresse est modifiée : ajout de '?refer= etc...') mais on aboutit toujours sur la page par défaut (TestDefaut.htm) et non celle d'où on vient (TestToto.htm).
Quelq'un voit où est mon erreur ?