Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Forcer l'affichage d'une page dans une frame.

2 réponses
Avatar
BDBull
Bonjour,

J'ai créé un site composé d'un frameset avec une page de menu (frame de
gauche) et des pages de contenu (frame de droite). Malheureusement il
reste toujours possible d'afficher une page de contenu isolée.
Est-il possible d'inclure du code javascript dans les pages de contenu
afin de forcer leur affichage dans le frameset ? C'est peut-être même
possible par une commande HTML ?

Merci,
--
BDBull
http://users.skynet.be/bdbull/

2 réponses

Avatar
Le Fou
BDBull a écrit

J'ai créé un site composé d'un frameset avec une page de menu (frame de
gauche) et des pages de contenu (frame de droite). Malheureusement il
reste toujours possible d'afficher une page de contenu isolée.
Est-il possible d'inclure du code javascript dans les pages de contenu
afin de forcer leur affichage dans le frameset ? C'est peut-être même
possible par une commande HTML ?


Donne un nom à tes frames et utilise l'attribut "target" dans tes liens.
C'est du HTML.

--
A'tchao

Le Fou
http://perso.club-internet.fr/ehiller/
http://club.exocet.free.fr/
http://www.ffessm-cd84.com/

Avatar
ASM

Bonjour,

J'ai créé un site composé d'un frameset avec une page de menu (frame de
gauche) et des pages de contenu (frame de droite). Malheureusement il
reste toujours possible d'afficher une page de contenu isolée.
Est-il possible d'inclure du code javascript dans les pages de contenu
afin de forcer leur affichage dans le frameset ?


oui c'est possible mais un peu compliqué
(faut ouvrir la page de cadres puis celle-ci
une fois chargée doit pouvoir afficher la page orpheline
dans le bon cadre et fermer la fenêtre orpheline)

Donc un code pour que la page orpheline sache qu'elle est seule
pas dif :
si moi (la page html) je suis tte seule devant
ou si je suis dans une page de 0 cadres (moteur de recherche)

if (top==self || parent.frames.length==0)

puis rediriger
pas dif non plus

parent.location.href="../index.htm";

Problème : on n'a plus la page voulue ! ! Pas good ça !

on peut alors tenter d'ajouter un temporisateur pour
faire afficher la bonne page au bon endroit
re-problème : combien de temps ?
function remet() {
parent.droite.location=this.location;
}
setTimeout('remet()',5000);

ou avec un controle, tenter de mettre un répétiteur
ind=0;
function repete() {
ind++
if(parent.droite) remet();
else
if(ind<10)
setTimeout('remet()',1000);
}

Pas très sûr que tout ça fonctionne alors que la page
contenant ce code JS n'est plus là ...

Bon, alors, et si la page de cadres regardait qui l'a appelée ?

// référence de la page appelante bidouillée en texte brut
truc=document.referrer.toString();
// cette référence contient un truc à moi ?
if(truc.indexOf('sm')>=0) parent.droite.location=truc;

et chaque page du site à afficher à droite a son nom qui contient 'sm'
(on peut aussi repérer l'url de son site)

On se rend vite compte que ce n'est pas si simple ...
- reaffichages en cadres en cascades
- avoir une page de cadres pour presque chaque page affichée

Le + simple est de mettre sur chaque page
- un bouton pour l'accueil du site
et éventuellement
- un bouton pour le menu du chapitre (dans sa page de cadres si besoin)

en HTML non, je ne crois pas que refresh puisse faire l'affaire

Mais si on est confiant dans le JavaScript
et puisqu'on a rien compris, la démo fonctionnelle est ici :
http://perso.wanadoo.fr/stephane.moriaux/internet/web_html/java/retombe_frames/

--
******** (enlever/remove [OTER_MOI] du/from reply url) *******
Stéphane MORIAUX : mailto:
Aide aux Pages Perso (images & couleurs, formulaire, CHP, JS)

**************************************************************