Quel est le mieux pour une page avec des cadres (une page d'acceuil par exemple) : utiliser des iframe dans des div ou bien utiliser des cadres?
merci
Quel est le mieux pour une page avec des cadres (une page d'acceuil par exemple) : utiliser des iframe dans des div ou bien utiliser des cadres?
merci
Salut!
Bon, alors, le mieux, c'est de n'utiliser ni l'un ni l'autre... Mais bon, si tu poses la question, c'est que tu dois avoir tes raisons...
Donc, en gros, <frameset> (et les <frame> qui vont avec), c'est surtout pour découper l'écran en zones indépendantes. Ce que tu pourrais faire en CSS (et ce que je te conseille de faire si ce cas s'applique à ta situation, car plus orienté W3C valide).
Par contre, <iframe> sert à insérer dans ta page une autre page HTML (par exemple). Ce que tu pourrais faire via un iclude en PHP (beaucoup mieux supporté).
Voilà, en espérant avoir pu te désembrouiller...
![]()
Alors quelle est la meilleure solution? Sachant que c'est pour une page d'acceuil d'un site.
L'organisation de mon site est "classique": borderaux de menu en bas et en haut, liens sur la gauche et zone d'affichage au centre.Donc, en gros, <frameset> (et les <frame> qui vont avec), c'est surtout pour découper l'écran en zones indépendantes. Ce que tu pourrais faire en CSS (et ce que je te conseille de faire si ce cas s'applique à ta situation, car plus orienté W3C valide).
Donc d'après toi les iframes seraient plus conseillées?
merci
Ben, le contenu de ta page, tu va le récupérer dynamiquement, ou bien il est inclus dans le fichier HTML (hardcodé)??
Encore un fois, tout dépend de ce que cherche à obtenir visuellement, mais également du principe de navigation que tu veux mettre en place.
Explique-nous comment tu imagine ton site, ça nous aiderait à t'aider!
(Mais avec les infos que tu donne, là, comme ça, mon premier réflexe serait de faire ça en CSS)
Le résultat visuel final sera le même. Et en plus 'simple' (selon moi) car tu n'aura qu'une page (générée) ce qui facilite le travail de mise en forme.
Le Web n'est pas une science exacte, il y a différentes manières de faire, et différentes manières d'arriver au même résultat.
Si j'avais plus d'infos sur ce que l'instigateur de ce topic veut (ergonomie et aspect), je pourrais être plus précis, privilégier une méthode plutôt qu'une autre. Mais comme ce n'est pas le cas, je cite les différentes méthodes permettant d'inclure une page dans une autre, ou du code dans un autre code (appelle ça comme tu veux).
La question c'est à quoi tu penses quand tu parles de cadres ? C'est juste une image ou bien quelque chose de plus précis de ton point de vue ?
<edit>
Dit autrement,
1. est ce que tu parles de cadre d'un point de vue technique ?
2. Ou bien est ce que ta question ne concerne qu'un certain rendu visible à l'écran du genre zone supérieure = header, colonne latérale = menu + 2ème colonne = contenu, zone de fin de page = footer ?
Parce que si tu es dans le cas 2 alors commence par évacuer le terme de cadre de ton vocabulaireparce qu'il n'a rien à y faire et ne peut que porter à confusion. Du genre :
. Je veux plusieurs zones graphiques
. J'appelle mes zones des cadres
. cadres ça s'appelle frame en anglais
. Je me retrouve avec sur les bras la question de frameset ou iframe ? alors qu'il n'est pas du tout question de ça.
</edit>
Je conseille l'utilisation des pseudo-frames.
En gros, tu as des parties fixes dans ton site, par exemple, l'en-tête, le pied de page et le menu vertical, il faut les insérer avec la fonction include de PHP. La partie centrale va être variable, en fonction du lien cliqué. Dans cette partie variable, on insère un code PHP qui récupère une page en fonction du lien cliqué.
Ce lien doit être de la forme : index.php?cat=produits par exemple.
NOOOOOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNN !!!
C'est justement pour ça que j'interpellais BnA, parce que certains manques de précision finissent toujours par ce genre de désastre et que dans de telles affaires il ne s'agit pas d'être pointilleux mais lucide.
La notion de pseudo frame php n'est rien d'autre qu'une stupidité monumentale et rien moins qu'une nuisance à éradiquer. Et c'est une faute majeure d'un point de vue didactique d'en parler quand on s'adresse à des débutants.
Merde alors
Et je n'expliquerai pas pourquoi !!! A ceux qui ont un peu de tête de se mettre en alerte et de s'inquiéter qu'il y a un problème.
A piotrr > La réponse à ta question c'est le positionnement css qui suppose qu'un balisage html de ton contenu a été préalablement effectué.
Donc si tu as une page de contenu a communiquer et bien ça aiderait pour t'indiquer un début de marche à suivre.
Je n'ai pas employer le terme de risque mais bien ceux de :
. Désastre
. Stupidité
. Faute
Je ne veux pas expliquer parce que ça ne sert à rien, plusieurs s'y sont collés depuis 4 ans dans divers forum et le sujet réapparait sans cesse (quand je dis nuisance, j'aurais du dire nuisible).
Allez maintenant c'est mon tour
Tu répondras quoi à piotrr quand il posera la question :
"Oui mais quand j'active mon lien qui doit changer le contenu de ma pseudo frame c'est toute la page qui se recharge et pas seulement ma frame, enfin je veux dire dire ma pseudo frame, puisque tout le monde m'a dit que ça s'appelait comme ça et qu'en plus plus ça revient au même non ? Alors c'est moi qui est faux quelque part ?"
Et tu diras quoi à web-two-pointisé qui répondra qu'un petit coup d'ajax là dessus et c'est ni vu ni connu.
Et tu en penseras quoi quand quelqu'un fera remarquer qu'aucune couche primaire coté serveur n'a été prévue par web-two-pointisé pour les situations js disabled coté client.
Et tu en penseras quoi encore quand un azimut de service viendra sortir à ce sujet les stastistiques des utilisateurs concernés par le point précédent pour affirmer que tout cela n'est que marge et epsilon.
Désolé NbA Mais quand je dis désastre je dis bien désastre...
... Al niente
Moi personnellement, j'utilise les pseudo-frames depuis des lustres, et sans souci !
Tu dramatise mon cher !!
Pour la question de rechargement de toute la page, j'ai réglé ça avec une fonction de preload :
le chargement sera nettement plus rapide, au point de ne pas s'en rendre compte
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 <style type="text/css">td img {display: block;}</style> <script language="JavaScript1.2" type="text/javascript"> function MM_findObj(n, d) { var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_swapImage() { var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} } function MM_swapImgRestore() { var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; } function MM_preloadImages() { var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } </script>![]()
Super, ça veut dire que tu utilises quelque chose qui n'existe pas, je parle bien des pseudos frame php (parce que que sur les pseudos frame css là c'est trop rigolo : Vous avez dit pseudo frame ?)
Et qui conceptuellement ne peut pas exister.
J'ai déjà dit les problèmes que j'y vois et ils concernent bien l'emploi du terme, dans les discussions, de pseudo frame php. Et pas du tout le principe très technique, très simple et très précis de l'include php conditionnelle qui ne pose elle aucun problème pour autant que l'on sache ce que l'on fait.
Ce qui me permet d'expliciter le terme de faute didactique, les gens à qui l'on parle de pseudo frame php ne savent même pas en quoi consiste le principe de l'include php, pas plus d'ailleurs que l'include suivant condition ou non.
Partager