Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Forcer une page à s'afficher dans un frameset


Pierre (aka Terdef)

Messages recommandés

Bonjour et Bonne Année à tous,

 

J'essaye de trouver un moyen générique pour forcer l'affichage des pages de mon site dans un frameset d’accueil afin que le visiteur dispose des outils de navigation sur le site (même si j’ai mis un lien vers l’entrée normale du site sur chaque page), par exemple, lorsqu’un visiteur vient d'un lien de moteur de recherches ou même lorsque je donne un lien vers une de mes pages dans un e-mail ou dans un forum.

 

J'ai cherché, trouvé et lu plein de choses là dessus et je n'ai plus d'aspirine.

 

Je pense qu'il faut créer 2 choses :

 

1/ une page "normale" qui soit un frameset « vide » d’accueil dynamique

 

2/ un unique script à introduire dans toutes les pages du site (j'ai prévu un mécanisme pour cette introduction automatiquement dans toutes mes pages) appelant ce frameset dynamique (accueillant) en lui passant comme argument le nom de la page appelante (tel qu'on peut le récupérer dans la variable "request_uri" si je ne dis pas de bêtise)

 

Je ne sais pas écrire ce script qui récupère le nom de la page courante (le nom de la page dans laquelle il se trouve), appelle le frameset d'accueil et je ne sais pas, non plus, comment récupérer et exploiter cet argument dans le frameset d'accueil.

 

Merci infiniment pour vos coups de main.

 

 

Cordialement

Pierre

 

_______________________________________________________

Par exemple : frameset d'acceuil qui serait donc une page du site :

 

<html>

 

<head>

  <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">

  <title>FrameSet Dynamique</title>

  <link href="../../style.css" type="text/css" rel="styleSheet">

</head>

 

<frameset border="0" cols="162,*" frameborder="NO" framespacing="0">

  <frameset border="0" frameborder="NO" framespacing="0" rows="50,*">

  <frame name="Rct_Nav" noresize scrolling="NO" src="../../c/commun/PvNav.php">

  <frame name="Rct_Tdm" noresize src="01_tdm.php">

  </frameset>

  <frameset border="0" framespacing="0" rows="90,*">

  <frame name="Pas de nom" noresize scrolling="NO" src="01_top.php">

  <frame name="ecran" noresize src=" ICI LE NOM DE LA PAGE PASSE EN ARGUMENT ">

  </frameset>

</frameset>

 

<body leftmargin="9" marginheight="0" marginwidth="9" topmargin="0">

  <script type="text/javascript"> <!--

if (window != top) top.location.href = location.href;

--></script>

  <noframes>

  Votre navigateur ne supporte pas les cadres (frames) hors ce site les utilise.

  </noframes>

</body>

 

</html>

 

_____________________________________

Le script appelant, mis dans toutes les pages

 

<script language="JavaScript"><!--

if (top.location.href == self.location.href)

window.location.href = 'frameset_d_accueil.php?http:// + host + NOM DE LA PAGE DANS LAQUELLE JE ME TROUVE';

//--></script>

 

dans lequel hosts serait, je crois, la variable http_host ou la variable server_name

 

et NOM DE LA PAGE DANS LAQUELLE JE ME TROUVE, la variable request_uri ou la variable script_name

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

J'avance tout seul et je crois que j'y suis presque mais il me manque un petit coup de pouce.

 

Je cherche quelque chose de dynamique, pas quelque chose de statique. Dans un frameset il y a des cadres statiques (typiquement une navigation à gauche, un bandeau en haut) et des cadres qui contiennent ce qu'on leur désigne de contenir (typiquemet l'espace principal d'affichage). Je cherche à ce que le contenu de cet espage principal soit désigné dynamiquement par le script appelant et je cherche à ce que le script appelant trouve tout seul le nom de la page que le frameset doit afficher dans son espace principal.

 

En fait je ne veux pas écrire un script différent dans chacune de mes pages comme

 

Dans la page1

<script language="JavaScript"><!--

if (top.location.href == self.location.href)

window.location.href = 'http://frameset1.html';

//--></script>

 

Dans la page2

<script language="JavaScript"><!--

if (top.location.href == self.location.href)

window.location.href = 'http://frameset2.html';

//--></script>

 

etc...

 

ça, je sais le faire et mon site en est à 700 pages ce qui me ferais écrire 700 script + 700 frameset.

 

Je cherche à ce que quelqu'un m'aide, car je ne sais pas le faire, pour que le script appelant, mis dans toutes les pages, soit de la forme (je n'arrive pas à le faire):

 

<script language="JavaScript"><!--

if (top.location.href == self.location.href)

argument_a_passer=nom_de_la_page_ou_je_me_trouve

window.location.href = 'http://framesetpardefaut.php?argument_a_passer';

//--></script>

 

C'est ce truc, "argument_à_passer" sur lequel je plante.

 

 

La page "framesetpardefaut.php" (qui est une page html normale), doit contenir, entre les balises </head> et <body> (enfin, je crois... j'essaye de m'en sortir tout seul)

 

<frameset border="0" cols="162,*" frameborder="NO" framespacing="0">

<frameset border="0" frameborder="NO" framespacing="0" rows="50,*">

<frame name="Rct_Nav" noresize scrolling="NO" src="../../c/commun/PvNav.php">

<frame name="Rct_Tdm" noresize src="01_tdm.php">

</frameset>

<frameset border="0" framespacing="0" rows="90,*">

<frame name="Pas de nom" noresize scrolling="NO" src="01_top.php">

 

<script language="JavaScript"><!--

document.write('<frame name="ecran" noresize src="'

+ (location.search ? location.search.substring(1):"index.php")>');

//--></script>

 

</frameset>

</frameset>

 

donc dans le script à l'intérieur du frameset je récupère l'argument passé (sauf le "?") mais, s'il est vide, j'utilise un contenu par défaut pour mon conteneur "ecran" qui est ma page d'acceuil standard du site.

 

Merci

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...