Reconstituer les frames d'un site à partir d'une page isolée


present.gif (1424 octets)

Un site avec des frames présente l'inconvénient qu'une page appelée directement, à partir d'un moteur de recherche par exemple, s'affiche sans la (les) frame(s) du site en question. Ce script régle le probléme.


exemple.gif (1055 octets)

En principe en cliquant le lien lapage il se passe cela, avec le script il se passe ceci


script.gif (838 octets)

if (window.name != "frame2") d'abord on teste le nom de la fenêtre, si ce n'est pas celui de la frame à afficher (le nom que vous lui avez donné en créant les frames, ici frame2, à remplacer par le vôtre), le script s'active

{
itt=window.location.href.lastIndexOf("/")+1
chj=window.location.href
chjl=chj.length
urlo=window.location.href.substring(itt,chjl)
la partie ci-dessus récupére le nom de la page
appelée dans la variable urlo, en repérant le dernier "/" et la longueur de l'adresse.

la partie ci-dessous fait écrire le code du fichier html créateur de vos frames, ici default.htm (il suffit de faire un copier coller mais de supprimer ensuite tous les espaces et retour chariot, attention!! c'est la partie du script la plus délicate à adapter à votre site)
document.write('<head><frameset rows="70,*" frameborder="0" border="0"><frame name="frame0" src="fram0.htm" marginwidth="0" marginheight="0" noresize scrolling="no" frameborder="0"><frameset cols="145,*" frameborder="0" bordercolor="White"><frame name="frame1" src="fram1.htm" marginwidth="10" marginheight="0" noresize scrolling="Auto" frameborder="0"><frame name="frame2" src="fram2.htm" marginwidth="5" marginheight="5" scrolling="Auto" frameborder="0"></frameset></frameset>')>
si la page demandée est dans un sous-répertoire (dans un dossier en pratique), il faudra modifier les chemins en conséquence, par exemple:
<frame name="frame0" src="../fram0.htm" marginwidth="0" marginheight="0" noresize scrolling="no" frameborder="0">


il suffit maintenant de faire afficher la page de départ dans la frame adéquate, ici la 2.
parent.frames[2].location.href=urlo }

Enfin, pour modifier toutes les pages en bloc dans chaque répertoire, vous pouvez utiliser un freeware prévu à cet effet comme Textexchange à http://www.pconsulting.com.au/textexchange/


ramses.gif (3062 octets)

Téléchargez le script

ramses2.gif (3094 octets)

Retour