[Frames] Un cadre contenant une page externe

Fermé
Signaler
Messages postés
8
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
15 juin 2007
-
Messages postés
8
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
15 juin 2007
-
Bonjour à tous.
J'ai une problème pour ce qui est d'afficher une page externe dans un des deux cadres de ma page principale, dont voici le code :

<html>
<head>
<title>Ma Page</title>
</head>
<frameset framespacing=0 border=0 frameborder="no" cols="200px,*">
 <frame name="menu" src="./menu.php" scrolling="no" noresize>
 <frame name="contenu" src="./accueil.php" scrolling="auto" noresize>
 <noframes>
  <body lang="fr" >
  <p>Cette page utilise des cadres, mais votre navigateur ne les prend pas en
  charge.</p>
  </div>
  </body>
 </noframes>
</frameset>
</body>
</html>


Je lance donc ce genre de liens
<a href='./accueil.php' target='contenu'>Accueil</a>

à partir du cadre menu et tout fonctionne correctement tant qu'on est en local.
Seulement, voilà. Si j'ai le malheur d'afficher par exemple "https://www.google.fr/?gws_rd=ssl" dans mon cadre contenu, alors plus aucun de mes liens dans le cadre "menu" ne fonctionnent...
Quelqu'un saurait d'où vient le problème ?

PS: Je dis que plus rien ne fonctionne, mais je parle uniquement sous IE6 bien sûr. En utilisant FireFox tout fonctionne correctement.

8 réponses

Salut,
quand tu dis "plus aucun lien ne fonctionne", quelle est l'erreur qui se produit, plus précisément ?
Messages postés
8
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
15 juin 2007

Quand je clique sur le lien, rien ne se passe...
Messages postés
4607
Date d'inscription
lundi 7 novembre 2005
Statut
Contributeur
Dernière intervention
24 octobre 2020
1 311
<html>
<head>
<title>Ma Page</title>
</head>
pas de <body> !
<frameset framespacing=0 border=0 frameborder="no" cols="200px,*">
<frame name="menu" src="./menu.php" scrolling="no" noresize>
<frame name="contenu" src="./accueil.php" scrolling="auto" noresize> tu les fermes nulle part ces frames ?

<noframes>
<body lang="fr" >
<p>Cette page utilise des cadres, mais votre navigateur ne les prend pas en
charge.</p>
</div> y'a pas de div ouverte, pourquoi la fermer ?
</body> tu la fermes 2 fois ?
</noframes>
</frameset>
</body>
</html>


deja y'a des gros problemes avec cette page ! je regarderais plus en détail ce soir, la jsuis au taf... et puis les frames, c'est à proscrire. y'a des gens uqi pourront pas ivsiter ton site (probleme de resolution d'ecran), y'a des gens qui trouveront ta page sur google, or comme ce sera la page d'une frame, celle ci s'affichera sans menu.

En fait, tu veux pas de visiteurs ?
Tiens j'avais même pas remarqué tous ces bugs!
Si tu débutes en html, je te conseille comme le fait remarquer grizzly de faire très attention à la syntaxe du code. Tu peux utiliser un éditeur avec coloration syntaxique comme Pspad qui dispose d'un petit vérificateur html (html-->contrôler le code html) et du plugin 'TiDy' plus puissant qui peut corriger ton code.

Plus tard tu pourras aller valider tes pages sur http://validator.w3.org/ pour voir si elles respectent les normes du domaine.

éditeurs de texte :
http://www.pspad.com/fr/download.php
https://notepad-plus-plus.org/
Messages postés
8
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
15 juin 2007

@ gryzzly> Je crois que l'utilisation de frameset impose de ne pas mettre de <body>...</body>, en tout cas le browser n'affiche rien quand j'en mets.
Et puis pour ce qui est d'utiliser des cadres, de toute façon c'est la page d'accueil d'un site intranet, donc peu importe qu'il soit googlisable ou non.

<html>
<head>
<title>Ma Page</title>
</head>
<frameset framespacing=0 border=0 frameborder="no" cols="200px,*">
<frame name="menu" src="./menu.php" scrolling="no" noresize />
<frame name="contenu" src="./accueil.php" scrolling="auto" noresize />
<noframes>
<body lang="fr" >
<p>Cette page utilise des cadres, mais votre navigateur ne les prend pas en charge.</p>
</body>
</noframes>
</frameset>
</html>


Je viens de virer les deux balises qui trainaient à la fin et j'ai mis des "/" à la fin des balises frame, mais le résultat est le même...

PS dfg : Merci mais j'utilise Notepad++ qui me convient très bien ;)
Messages postés
4607
Date d'inscription
lundi 7 novembre 2005
Statut
Contributeur
Dernière intervention
24 octobre 2020
1 311
je reviens tout de même sur la googlelisation... au final, ca revient au meme : si un utilisateur du reseau local veut marquer une mage dans ses favoris, il ne le pourra pas justement a cause des frames ! car en mettant dans les favoris une page spécifique, ce sera toujours la page d'accueil qui sera marquée (puisque c'est elle qui appelle les autres pages) !

a toi de voir... je ne sais pas quel sera le contenu ;-)
C'est vrai que l'utilisation des div flottantes avec include dynamique est plus propre et accessible, mais peut-être que l'utilisation des frames est peut être plus simple et plus rapide pour des sites orientés application (donc très dynamiques). De plus il me semble qu'on ne devrait pas avoir à faire de favoris sur une appli intranet si l'interface est bien pensée.

Maintenant si t'es au début du projet et si tu assez de temps je te conseille aussi de faire l'effort d'éviter les frames (et les tableaux...) : http://www.phpdebutant.org/article68.php (très bien expliqué).

PS : Notepad++ intègre aussi le plugin TiDy mais - notamment en matière d'HTML - pspad est bien plus complet. Par contre pour de la prog procédurale ou objet il faut le 'code folding' -->np++.
cf. aussi UltraEdit il parait qu'il est ultime mais payant - pas testé.
Messages postés
8
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
15 juin 2007

Bon, mon site étant relativement avancé dans sa construction, je pense que je vais devoir me résoudre à utiliser des frames...
Les sections et sous-sections de mon menu à gauche étant générées en PHP, je crois que je pourrais peut-être contourner ce problème sous IE6 en codant les liens externes sous la forme
<a target='_blank' href='http://www.google.fr'>Rechercher sur Google</a>

pour les ouvrir dans un nouvelle fenêtre au lieu du cadre 'contenu'.
L'idéal serait de trouver une fonction PHP qui m'indique si un lien est externe ou interne ^_^