Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1851 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Les iframes: problème pour le référencement!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Les iframes: problème pour le référencement!

n°1379510
Fused
Posté le 02-06-2006 à 09:48:23  profilanswer
 

Hello tout le monde!
 
J'ai construit un site web en html/css avec une page fixe avec les menus et tout ça, et une iframe au centre pour afficher les différentes pages.
 
Problème: je constate sur les statistiques d'entrées sur mon site se font presque à 20% sur des pages que doit contenir l'iframe, les visiteurs se retrouvent donc sur une page sans aucun lien et c'est embêtant!
 
Vous connaissez un moyen pour détecter que si quelqu'un arrive sur une page autre que la page d'accueil ça le redirige automatiquement vers la page d'accueil du site. Le truc est que quand il arrivera sur cette page via le site, j'ai peur que ça fasse une boucle infinie de redirection que personne n'arrive à visiter mon site du coup! :/
 
Quelqu'un à une idée?

mood
Publicité
Posté le 02-06-2006 à 09:48:23  profilanswer
 

n°1379518
nargy
Posté le 02-06-2006 à 09:56:09  profilanswer
 

Oui, avec un bout de javascript.

Code :
  1. // Lorsque la fenêtre frame n'a pas de parent:
  2. if (!window.parent)
  3. // alors rediriger vers la page complète avec frame:
  4.   window.location='index.htm?'+window.location;


Dans la page complète, index.htm:

Code :
  1. <iframe name="maframe"></iframe>


Puis du javascript:

Code :
  1. // récupérer l'url passée en paramètre
  2. var url_frame=window.location.search.substr(1);
  3. // si url valide, rediriger la frame vers cette url
  4. if (url_frame) window.maframe.location=url_frame;


(code à tester, et à adapter)

n°1379831
Fused
Posté le 02-06-2006 à 14:11:46  profilanswer
 

énorme!
merci je vais essayer ça :)

n°1379877
Fused
Posté le 02-06-2006 à 14:25:42  profilanswer
 

je n'arrive pas à le mettre en place :/
 
Peut être que je n'ai pas bien compris ton code.
 
Première partie (mis dans un fichier scripts.js)
on vérifie si il n'y a pas de page parente, si oui on redirige vers le fichier index du site, jusque là ok
 
Deuxième partie, la déclaration de la frame dans le fichier index, pas de problème.
 
Par contre la dernière partie je ne la comprends pas et je ne vois pas trop ou la placer :/
 
Peut tu m'éclairer?

n°1379949
nargy
Posté le 02-06-2006 à 15:20:13  profilanswer
 

La dernière partie, doit être mise après la déclaration de la frame, dans une balise javascript.
Ligne 2: récupère l'url de la page, en extrait les paramètres, et notamment tout ce qui setrouve après le ?
Ligne 4: se sert de tout ce qui se trouve en paramètre comme URL de la frame à afficher
Si aucun paramètre n'est passé, ne modifie pas le contenu de la frame, te permettant de mettre un contenu par défaut au chargement de index.htm.

n°1380030
Fused
Posté le 02-06-2006 à 16:15:42  profilanswer
 

Oki, j'ai compris le fonctionnement mais il doit y avoir un truc que je fais pas bien parce que ça marche pas :/
 
J'ai ça dans mon fichier index.htm
 

Code :
  1. <iframe name="centre" align="center" frameborder="0" scrolling="no" width="100%" height="100%" src="accueil.htm"></iframe>
  2.    <script language="javascript">
  3.  // récupérer l'url passée en paramètre
  4.  var url_frame=window.location.search.substr(1);
  5.  // si url valide, rediriger la frame vers cette url
  6.  if (url_frame) window.centre.location=url_frame;
  7. </script>


 
Et j'ai ça dans mon fichier accueil.htm (il ne faut pas qu'on puisse l'afficher hors de l'iframe.
J'ai essayé en plaçant dans head et dans body, aucun résultat.
 

Code :
  1. <script language="javascript">
  2. // Lorsque la fenêtre frame n'a pas de parent:
  3. if (!window.parent)
  4. // alors rediriger vers la page complète avec frame:
  5. window.location='index.htm?'+window.location; </script>


Message édité par Fused le 02-06-2006 à 16:16:30
n°1380168
nargy
Posté le 02-06-2006 à 19:37:23  profilanswer
 

Ok, autant pour moi, comme j'avais pas testé, j'ai pas donné la bonne condition:

Code :
  1. <script type="text/javascript" language="javascript">
  2. <!--
  3.     // Lorsque la fenêtre frame est la fenêtre ancestrale:
  4.     if (window==window.top)
  5.     // alors rediriger vers la page complète avec frame:
  6.     window.location='index.htm?'+window.location;
  7. // -->
  8. </script>


N'oublie pas:
type=text/javascript
pour une compatibilité W3C,
et les <!-- ... //--> pour une compatibilité tous navigateurs.
Note que, pour les navigateurs ne supportant pas javascript (ou lorsque javascript est désactivé) celà ne fonctionne pas (env. 10% des cas).
Aussi tu peut ajouter le code suivant:

Code :
  1. <noscript>
  2. <a href="index.htm">Retour acceuil</a>
  3. </noscript>

n°1380326
Fused
Posté le 03-06-2006 à 01:12:24  profilanswer
 

Ca marche niquel!
Je te remercie ça va beaucoup me rendre service ça!!

n°1942042
gerard bra​ckam
Posté le 18-11-2009 à 16:52:10  profilanswer
 

bonjour
 
voilà je cherche un script comme celui ci dessus pour mon site, je l'ai essayé et ça ne marche pas.
 
mon site est en php avec un header un centre et un footer.
 
sur une des pages de ce site j'appelle toute une autre partie du site via un iframe.
 
j'ai mis le script dans une des pages pour faire le test et rien ne se passe.
 
est ce que ça vient de la complexité de ma page ?
 
je ne suis pas une rute en programmation, merci de vos lumières...
 
:g
 

n°1942057
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 18-11-2009 à 17:35:58  profilanswer
 

ouais, enfin par rapport au titre du topic, le script n'apporte rien ... car google and Co ne savent pas lire le javascript, et de ce fait, il faut considéré qu'il est désactivé pour eux.
 
ça veut dire que si googel a indexé ta page "iframe" et pas son conteneur, t'as plus qu'à revoir ton système de liens ...


---------------
NewsletTux - outil de mailing list en PHP MySQL

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Les iframes: problème pour le référencement!

 

Sujets relatifs
Fieldset: problème de centrage de la légende sous Opéraprobleme banniere javascript
problème d'offending classes sous tomcat/eclipseProblème de requête SQL-Oracle
Problème de conditionProblème: Variable globale
probléme avec AJAX et encodageProblème de sauvegarde des données dans une base sql
probleme de select sous IE[PHP] probleme fsockopen
Plus de sujets relatifs à : Les iframes: problème pour le référencement!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR