> Tous les forums > Forum des Webmasters
 Forcer l'affichage d'une page dans un frameset
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
terdef
  Posté le 09/01/2004 @ 12:19 
Aller en bas de la page 
Petit astucien

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
Publicité
wafwaf
 Posté le 09/01/2004 à 12:49 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Salut et bonnée année à toi aussi <SCRIPT Language="javascript">if (parent.frames.length==0)parent.location.href="frame.htm"</script> et d'une pierre 2 coups : http://www.2001webmaster.com/astuces/referencer_site_avec_frame.htm
terdef
 Posté le 09/01/2004 à 15:26 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Merci wafwaf mais, dis moi, quelle est la page qui s'affiche dans frame.htm ? Celle qui est codée dans frame.htm, toujours la même, quelque soit la page appelante. 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. Je crois que j'y suis presque mais il me manque un petit coup de pouce. Merci
terdef
 Posté le 11/01/2004 à 00:06 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Up
wafwaf
 Posté le 11/01/2004 à 04:13 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
oula ! bon... j'essayerau de réfléchir demain
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
189,99 €Pack de 2 disques durs Seagate NAS Iron Wolf 4 To à 189,99 €
Valable jusqu'au 28 Janvier

Cdiscount propose le pack de 2 disques durs Seagate IronWolf 4 To à 189,99 €. le Ces disques durs 3.5 pouces SATA III sont adaptés aux NAS et ordinateurs qui fonctionnent 24h/24. On les trouve ailleurs autour de 110 € l'unité. Disques CMR.


> Voir l'offre
69,90 €Boîtier PC ATX Fractal Design Meshify C avec vitre en verre trempé à 69,90 €
Valable jusqu'au 29 Janvier

Cdiscount solde le très bon boîter moyen tour Fractal Design Meshify C avec panneau latéral en verre trempé à 69,90 € alors qu'on le trouve ailleurs à plus de 95 €. Intelligemment conçu, le boîtier Meshify C de Fractal Design s'adresse avant tout à toutes les personnes recherchant un boîtier silencieux prêt à recevoir un système puissant et expansible de refroidissement par air ou par liquide mais également à ceux qui recherche un boîtier au look ravageur. 

Combinant design, espace et aération, le Meshify C peut accueillir jusqu'à jusqu’à 2 disques durs 3.5" HDD/SSD (et 3 x 2.5" SSD), une alimentation ATX, une carte graphique de plus de 315 mm et des possibilités de refroidissement allant de 7 ventilateurs de 120 mm ou 140 mm à du watercooling (240 mm au dessus, 360 mm en façade).


> Voir l'offre
479,99 €PC portable 14 pouces Asus (Core i3, 8 Go RAM, SSD 256 Go, Windows 10, Office 365) + sac à 479,99 €
Valable jusqu'au 28 Janvier

Cdiscount fait une promotion sur le PC portable 14 pouces Asus R415JA-BV1155T qui passe à 479,99 € au lieu de 550 €. Ce portable dispose d'un écran 14 pouces HD (1368x 768 pixels), d'un processeur Intel Core i3-1005G1, de 8 Go de RAM et d'un espace de stockage SSD de 256 Go, d'une webcam, du WiFi et du bluetooth, de l'USB 3.0. Il pèse 1,6 kg et offre une autonomie de 5h environ.

Notez qu'un abonnement d'1 an à Office 365 (Word, Excel, OneNote, PowerPoint, Outlook, Access et Publisher) vous est également offert ainsi qu'une sacoche et une souris.

Une bonne affaire pour un petit portable à emmener partout avec vous.


> Voir l'offre

Sujets relatifs
Affichage d'une page html dans un cadre flash
affichage flash dans page HTML
forcer l'affichage d'un texte dans un navigateur
affichage page dans tableau
editeur TinyMCE grande largeur texte dans page
Bouton RSS automatique dans page annonce Google site
insérer programme python dans page web
affichage dans navigateur IE 8
Probleme d'affichage d'onglet dans Google
Probleme d'affichage sur page d'accueil de mon SITE
Plus de sujets relatifs à Forcer l''affichage d''une page dans un frameset
 > Tous les forums > Forum Forum des Webmasters