> 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
34,06 €Compresseur portable autonome Xiaomi Mija à 34,06 € code VIP15
Valable jusqu'au 27 Janvier

Boulanger fait une promotion sur le compresseur portable autonome Xiaomi Mija qui passe à 34,06 € avec le code promo VIP15. Ce compresseur à emporter facilement avec vous comporte un écran (où vous pourrez choisir la pression à atteindre en PSI ou BAR) une batterie de 2000 mA et vous permettra de gonfler vos jouets (41 pièces avec une charge), pneus de vélo, de trotinette, de moto (6 pneus avec une charge) et même de voiture (5 pneus avec une charge) facilement. Le câble est accompagné d'un embout pour valve Schrader et un adapteur Presta et une aiguille sont fournis. Le compresseur se recharge via une prise Micro USB.


> Voir l'offre
78,11 €SSD Interne M.2 NVMe Samsung 970 Evo Plus 500 Go à 78,11 € livré
Valable jusqu'au 27 Janvier

Amazon Allemagne fait une promotion sur le SSD Interne M.2 NVMe Samsung 970 Evo Plus 500 Go qui passe à 73,50 €. Comptez 4,61 € pour la livraison en France, soit un total de 78,11 € livré en France. On le trouve ailleurs autour de 100 €. Ce SSD offre des taux de transfert de 3500 Mo /s en lecture et 3300 Mo/s en écriture. Une bonne affaire.

Vous pouvez utiliser votre compte Amazon France sur Amazon Allemagne et il n'y a pas de douanes. Si vous êtes perdu en allemand, vous pouvez traduire le site en anglais.


> Voir l'offre
239 €PC Ankermann (Intel Pentium Dual Core, 8Go RAM, SSD 480Go, Win 10 + Office 2019) à 239 € livré
Valable jusqu'au 28 Janvier

Amazon fait une belle promotion sur l'ordinateur de bureau Ankermann Silent PC Work à 239 € livré. Le PC est équipé d'un processeur Intel Pentium dual core à 2.7 GHz, de 8 Go de RAM, d'un SSD de 480 Go, d'un lecteur DVD, d'un lecteur de carte mémoires et tourne sous Windows 10 Pro 64 bits. Microsoft Office 2019 Pro en français est également fourni.

Une belle machine à l'aise en bureautique et Internet. Une dizaine de machines sont disponibles à ce tarif. n'hésitez pas si vous êtes intéressé. Garantie 2 ans.


> 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