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:

reconstruction de frames


minos

Messages recommandés

Bonsoir à tous,

 

J'ai l'impression que ce topic va bien servir à Pierre alias Terdef alias Assiste.com ; je viens de donner le lien dans une question de CCM ( "Envoyer une page dans un frameset d'accueil " http://www.commentcamarche.net/forum/affic...set-d%27accueil )

Lien vers le commentaire
Partager sur d’autres sites

Sauf que Pierre recherche une solution un poil plus élaborée. En effet il a quelque 700 pages qui doivent s'ouvrir dans son frameset. Il est impensable qu'il reprenne chque fichier manuellement pour y ajouter ?referer=Page1, ?referer=Page2, ?referer=Page3 etc...

 

Il aimerait trouver une solution pour que lors de la redirection vers la frameset la détection de la page à afficher soit automatique. Le code serait donc le même à insérer dans les 700 pages. Ce doit être possible, faut juste trouver le bon code et comme il y a des cracks ici... :P

Lien vers le commentaire
Partager sur d’autres sites

Plusieurs solutions :

 

1) on se passe de l'argument "referrer" (au passage je corrige une erreur de ma part : il faut quatre "r" à referrer) et la page contenant le frameset se base sur le HTTP_REFERRER pour charger le contenu du cadre principal

Inconvénient : les navigateurs n'envoyant pas le HTTP_REFERRER dans l'entête HTTP brisent ce système

 

2) on passe par une "feinte" JavaScript pour générer l'argument à ajouter après "?referer=" à partir de location.toString() (en utilisant split() ou une combinaison de indexOf et substring, en fonction de la réponse à la question "est-ce qu'on utilise des sous-répertoires")

Inconvénient : c'est du JavaScript, c'est bancal si on souhaite vraiment faire un seul gros copier/coller dans absolument toutes les pages, quels que soient les nombre et le nom des sous-répertoires

 

3) c'est PHP qui va, tout seul comme un grand, remplir l'URL (fournie après "?referer=") comme il faut, à la génération de la page...

Inconvénient : aucun

 

En gros, puisque notre ami utilise un outil de génération de ses pages, il peut s'en servir pour ça aussi...

 

Si tu veux un exemple de récupération du referrer en JavaScript : http://kewlcat.no-ip.org/tests/exemple.html

En bas de page, tu dois avoir "Referrer : <quelque chose>"

Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois après...
Copie ceci dans le head du frameset:

<script language="JavaScript">
function verif(){
var queryString = location.search.substring(1);
var nv = queryString.split('&');
var eq = nv[0].indexOf('=');
if(nv[0].substring(0,eq).toLowerCase() == "referer") {
window.nom_de_ta_frame.location = unescape(nv[0].substring(eq + 1));
}
}
</script>

 

puis dans ta balise frameset tu mets ça:

onLoad="verif()"

 

Testé et fonctionnel.

:P

Merci pour l'info sur la reconstruction de frames en html.

Une petite question cependant.

Cela marche parfaitement mais n'y aurait-il pas une solution pour éviter de marquer dans le code source le nom.htm du fichier.

en effet j'ai de nombreuse pages à completer avec ce système.

Par exemple un truc du style

<script language="JavaScript" type="text/JavaScript">

if (parent.frames.length==0) parent.location.href="http://www.mon_site.com/indexframes/indexactu.htm?referer=/sous_dos1/sous_dos2/nom_fichier.htm" </script>

"nom_fichier" étant en fait le nom de la page demandée lorque que l'on clique sur le lien de la page fille.

en gros si je je clique sur "nom1.htm", je désire pouvoir attérir sur ma page "nom1.htm" avec les frames

Idem si je clique sur "nom2.htm"

J'espère avoir été clair.

Merci d'avance pour votre aide.

lolo63

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...
  • 1 mois après...

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...