SELFHTML

Forum SELFHTML: Archives:
moteur de recherche et frames

Page d'information: vue d'ensemble
vers le bas 

(HTML) moteur de recherche et frames

Le message suivant est de: David, Adresse électronique DavidB863917134@aol.com, 19. 08. 2003, 10:29

Re moi!!!

bon voila les amis un nouveau probleme: Sur mon site j'utilise des cadres, 1 pour la navigation (il doit etre donc toujours apparent) et 1 cadre contenant du texte. Le cadre navigation change donc le contenu du cadre texte (jusqu'ici tout va bien).
L'URI apparaissant dans le navigateur du client est donc toujours la meme (http://mon_site/) quelque soit la page de texte ou se trouve l'internaute. OK!
Mais imaginons qu'un internaute me trouve via un moteur de recherche, les mots clés qu'il recherche correspondent à la page machin.html. Google p.e va lui indiquer l'URL http://mon_site/machin.html, en cliquant la dessus l'internaute ne va voir aucun cadre (la page machin.html va s'afficher toute seul) ARRGGHH ca fout en l'air tout mon boulot et ma jolie barre de navigation!
alors comment faire pour qu'en tapant l'URL d'une de mes pages elle apparaise dans un jeu de cadre?
J'ai penser a du javascript comme par exemple l'instruction: if (top=self) cette instruction doit etre vrai si la page n'est pas incorpore dans un cadre, mais ensuite comment faire apparaitre l'autre cadre?
mais si vous avez d'autres suggestions ou des pistes, elles sont comme d'habitude les biens venues!

@+
David.

Et vive le logiciel libre!


 
vers le hautvers le bas 

(HTML) moteur de recherche et frames

Le message suivant est de: Patrick Andrieu, Adresse électronique nospam@nospam.fr, 19. 08. 2003, 13:53
http://www.selfhtml.com.fr/equipe/patrick.htm

»» Re moi!!!
Zut, et keske je dis, maintenant? Bonjour tout le monde?


»» J'ai penser a du javascript comme par exemple l'instruction: if (top=self) cette instruction doit etre vrai si la page n'est pas incorpore dans un cadre, mais ensuite comment faire apparaitre l'autre cadre?
»» mais si vous avez d'autres suggestions ou des pistes, elles sont comme d'habitude les biens venues!

Très bon départ! Sur mon site Atomic Eggs, qui va être raffraîchi dans quelques temps et qui sera sans frames, j'utilise aussi un frame de navigation. Sur chaque page, je propose le choix de charger le frameset. Le mieux est que tu ailles voir le code d'une page "standalone", par exemple celle-ci: http://www.atomic-eggs.com/cam/ et view-source:http://www.atomic-eggs.com/external.js. Cette solution a l'avantage que c'est l'internaute qui décide s'il veut le frameset ou non (certains n'aiment pas les cadres, raison pour laquelle j'abandonne le système dans mon nouveau Atomic Eggs qui paraîtra sous peu).

Sinon, vois aussi: http://selfaktuell.teamone.de/artikel/javascript/dyn-frames/index.htm - c'est en allemand, mais je pense que tu t'y connais assez en JS pour comprendre le code même sans comprendre la langue!


»» Et vive le logiciel libre!

Je signe!

Patrick


 
vers le hautvers le bas 

(HTML) moteur de recherche et frames

Le message suivant est de: David, Adresse électronique DavidB863917134@aol.com, 19. 08. 2003, 15:11

Encore une fois merci beaucoup Patrick!
ca marche c'est genial! Alors petite traduction pour nos amis francophones que ca interresserait: Il y a deux petites fonctions à en javascript à rajouter, l'une dans les pages que vous souhaitez voir apparaitre a tous les coups dans votre jeu de cadre (fonction checkframeset()) et l'autre uniquement dans votre page contenant la definition de votre jeu de cadre (fonction checkfromcall()).
Et voici un exemple:
<head>
...
<SCRIPT language="JavaScript">
<!--
 function checkFrameset() {
  if(!parent.mainFrame)
   location.href="http://mon_site/index.htm?" + location.pathname; }
//-->
</SCRIPT>
</head>
<body onLoad='checkFrameset()'>
...

et pour index.htm (en supposant que cette page contienne la definition de votre jeu de cadre):
<head>
...
<SCRIPT language="JavaScript">
<!--
 function checkFramecall() {
  var adresse=location.search;
  if(adresse)
  frames.mainFrame.location.href=adresse.substring(1,adresse.length); }
//-->
</SCRIPT>
</head>

<frameset cols="60,*" onLoad="checkFramecall()">
  <frame name="rightFrame" src="links.htm">
  <frame name="mainFrame" src="start.htm">
</frameset>
...
J'ai suppose que la cadre ou doit s'afficher vos pages est appelé mainFrame (rightFrame servant par exemple à la navigation) et que la definition du jeu de cadre est à la page index.htm
fin!
Il a l'air bien ton site Patrick, va falloir que je ressorte mes cours d'allemand! (j'ai vecu en allemagne mais j'ai presque tout oublie, ARGH!). sinon j'ai vu dans tes stats que beaucoup plus de personnes naviguait sans cadres, ça me fait reflechir....

@+
David.


 
vers le haut

© 1998-2004 Adresse électronique selfhtml@fr.selfhtml.org