Comment afficher une page htm dans un cadre div à partir d'un bouton?

Comment afficher une page htm dans un cadre div à partir d'un bouton? - HTML/CSS - Programmation

Marsh Posté le 23-02-2005 à 12:33:53    

Je cherche désespérément un moyen d'afficher une page .htm dans un cadre (div) fixe, et ce, lorsque je clique sur un bouton. Comment faire ce lien? Je ne peux pas utiliser les ifame car je ne veux pas de scrollbar horizontal, mais juste un vertical. Je n'ai pas de problème pour le cadre. Je cherche juste comme dire à une page de s'afficher dedans. Bien entendu, il y aura plusieurs boutons dont le contenu devra s'afficher dans le cadre en question.  
Merci 1000x pour votre aide. Soyez indulgent avec le débutant que je suis... :wahoo:  
 
<html>
<head>
</head>
<STYLE type="text/css">
 
#global {
     position:absolute;
     left: 50%;  
     top: 50%;
  overflow:auto;
     width: 555px;
     height: 360px;
     margin-top: -85px; /* moitié de la hauteur */
     margin-left: -130px; /* moitié de la largeur */
     border: 0px solid #000;
     }
 
</STYLE>
 
<body>
 
<div id="global"> </div>
 
<p><a href="page1.htm" >bouton1</a></p>
 
</body>
 
</html>

Reply

Marsh Posté le 23-02-2005 à 12:33:53   

Reply

Marsh Posté le 23-02-2005 à 12:38:39    

l'iframe serait le plus pratique.
La seule autre possibilité que je vois, c'est le javascript.

Reply

Marsh Posté le 23-02-2005 à 12:47:05    

non. ca ne va pas les iframe. Cela ne m'offre pas la possibilité d'empécher les scrollbars horizontaux totalement inutiles. Je suis d'accord pour le javascript, mais je ne m'y connais guère. Tu connais un script qui me permet ça? Merci d'avance.

Reply

Marsh Posté le 23-02-2005 à 12:57:21    

Malheureusement non, j'en conais pas. Comme je fais du php, je n'ai pas besoin du javascript pour ce genre de chôse et en fait, j'évite le javascript tant que je peux faire sans.
 
Au fait, la demande de script tout fait tombe sous le coup de la régle 0C du réglement du forum (On ne fait pas le boulot à votre place. ) par contre, j'espéres que quelqu'un tindiquera la fonction javascript à utiliser pour changer le contenu d'un div.

Reply

Marsh Posté le 23-02-2005 à 13:02:39    

Il n'y a aucun moyen connu sur terre pour ne recharger qu'une partie de la page, sans frames ou javascript. Mais ce n'est pas vraiment un problème dans le cadre d'un site normal. Est-ce vraiment indispensable ?

Reply

Marsh Posté le 23-02-2005 à 13:11:56    

Peut-etre me suis-je mal fait comprendre. C'est comme si j'avais une page formée de 2 cadres. Le premier est le menu et le deuxième est la partie où doit s'afficher la page demandée via le menu. faut-il forcément utiliser le javascript? Si j'utilise une iframe ca marche, mais il y a tjs un scrollbar horizontal inutile. Y a-t-il moyen d'empêcher celui-ci, mais autoriser le vertical?

Reply

Marsh Posté le 23-02-2005 à 13:17:57    

Ben quand tu cliques dans le menu, ça ouvre la page, je vois pas trop le problème. Ca ne sert pas à grand chose de ne recharger que le contenu...

Reply

Marsh Posté le 23-02-2005 à 13:52:33    

si tu veux pas de javascript, que tu veux pas de php, que tu veux pas de frame ni d'iframe ... alors il reste plus qu'a copier ton menu dans toutes les pages html.
 
Ou bien plus simplement, t'évite de mettre des largeurs défini en nombre de pixel. Utilise donc des pourcentages quand t'as pas besoin de plus précis. Ca t'évitera tes "scrollbar horizontal inutile".

Reply

Marsh Posté le 23-02-2005 à 13:55:26    

omega2 a écrit :


Au fait, la demande de script tout fait tombe sous le coup de la régle 0C du réglement du forum


 
Faut pas exagérer non plus, on n'est pas dans "1984" ou autre film similaire :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 23-02-2005 à 14:26:22    

Ben c'est combien de ligne de code pour vider complétement un <div> et le reremplir derriére à partir du contenu d'un fichier?
Je sais, je suis une bille en javascript. :p

Reply

Marsh Posté le 23-02-2005 à 14:26:22   

Reply

Marsh Posté le 23-02-2005 à 15:36:08    

Mais je veux bien du javascript, du php ou des iframes!!!! Justement, je ne sais pas ce qu'il y a de mieux. Pour vous que vous compreniez mieux ma situation, voici: www.fisenne.be/new/index.htm
Les noms sur l'image sont bidons mais je teste avec les liens en haut. j'utilise ici des iframes. C'est très bien, mais si le texte est trop long (en hauteur!), j'ai tout de suite une barre horizontale, mais complètement inutile. Quelles solutions est-ce que j'ai?

Reply

Marsh Posté le 23-02-2005 à 15:40:30    

Ben ça sert à rien les frames les machins, tu rechargent tout, ça change pas grand chose...

Reply

Marsh Posté le 23-02-2005 à 15:43:47    

En utilisant quoi? L'image que tu vois est une image de fond. Comment délimiter un petit rectangle qui contiendrait ma page et avec une barre de défilement? Et encore une fois, mes boutons seraient alors dans un cadre, mais comment faire afficher le contenu voulu dans l'espace voulu???

Reply

Marsh Posté le 23-02-2005 à 15:49:09    

Ne met pas de cadre, c'est tout.
 
Pour la partie contenu, regarde du côté des CSS, y'a une propriété overflow qui permet d'afficher des barres de défilement en cas de contenu trop grand :)

Reply

Marsh Posté le 23-02-2005 à 15:52:18    

Ce que je vois :
une image qui sert à afficher à la fois :
l'image de fond
le menu
la taille de la "zone d'inclusion".
 
Une image bien conçu (dans le sens bien conçu pour un site web) ne devrait avoir qu'un seul rôle à la fois.
 
 
Ca me parait mal baré pour ton site si à la fois tu ne veux ni voir s'afficher des bares de défilement ni voir le texte dépasser de la "zone d'inclusion". A partir du moment ou on choisit d'avoir une taille bien déterminé pour afficher des informations, il fait accepter soit les barres de défilements soit de ne pas pouvoir afficher grand chôse.
 
Le mieux que tu pourais faire si tu ne veux pas repenser tout ton site, ca serait de changer l'apparence des barres de défilement. Le site de wanadoo le fait si je me souviens bien.


Message édité par omega2 le 23-02-2005 à 15:54:53
Reply

Marsh Posté le 23-02-2005 à 16:00:38    

J'ai bien besoin de garder la barre de défilement verticale, mais l'horizontale (qui apparait avec les iframes) est complètement inutile et me fait perdre de la place. Y a-t-il alors un moyen de l'empecher d'apparaitre, car mon contenu n'est pas trop large! il est tout aligné à gauche et ne dépasse pas du tout le cadre horizontalement.

Reply

Marsh Posté le 23-02-2005 à 16:04:11    

Si ca s'affiche, c'est que ton contenu est trop haut.
Si ton contenu est trop haut et que tu bloquie l'affichage de la bare de défilement, tu perds une partie du contenu.

Reply

Marsh Posté le 23-02-2005 à 16:07:12    

ca je sais. c'est pour la barre de défilement verticale. Il me la faut, c'est évident. mais c'est la barre horizontale qui apparait et qui n'a pas lieu d'être. Y a-t-il de l'empecher en utilisant des iframes? Merci qd mm pour votre patience...

Reply

Marsh Posté le 23-02-2005 à 16:07:45    

omega2 a écrit :

Le mieux que tu pourais faire si tu ne veux pas repenser tout ton site, ca serait de changer l'apparence des barres de défilement. Le site de wanadoo le fait si je me souviens bien.


Non, ça n'est pas valide. Ca utilise des propriétés CSS propres à IE, et ça passe pas au validateur...

Reply

Marsh Posté le 23-02-2005 à 16:10:02    

y a-t-il alors finalement moyen d'empecher la barre HORIZONTALE inutile ou faut-il se pencher vers une solution en php ou javascript ou autre chose?

Reply

Marsh Posté le 23-02-2005 à 16:13:48    

Ben c'est que ton contenu est trop large horizontalement :(

Reply

Marsh Posté le 23-02-2005 à 16:17:17    

mais il ne l'est pas!!! regarde: http://www.fisenne.be/new/index.htm
Et si je n'utilise pas de iframe mais plutot la fonction overflow en CSS, comment peut-on envoyer la page htm dans le cadre? comment crée-t-on ce lien à partir d'un bouton?

Reply

Marsh Posté le 23-02-2005 à 16:20:22    

La barre horizontal n'apparaît que sous IE. C'est à cause du margin-left: 55px; dans l'iframe.

Reply

Marsh Posté le 23-02-2005 à 16:22:40    

A tiens, j'avais pa vu cette barre là. J'utilisais firefox et il a l'air de mieux gérer les iframe qu'IE.

Reply

Marsh Posté le 23-02-2005 à 16:24:40    

Ah ok FlorentG, mais je dois modifier ca? Je dois rajouter qqch ou supprimer???
Merci si tu as la solution!

Reply

Marsh Posté le 23-02-2005 à 16:24:46    

Ben c'est à cause de la marge, c'est tout. Donne une taille au body dans l'iframe, ça marchera

Reply

Marsh Posté le 23-02-2005 à 16:25:13    

bingojm a écrit :

Ah ok FlorentG, mais je dois modifier ca? Je dois rajouter qqch ou supprimer???
Merci si tu as la solution!


Dans la page incluse par l'iframe, t'as mis une marge à gauche enlève-la

Reply

Marsh Posté le 23-02-2005 à 16:27:14    

oh là... ca me fait super plaisir car tu as l'air d'avoir la solution. Le problème est que toi t'es une bete et moi un débutant... Aurais-tu la bonté de me traduire ca?
Comment je fais pour donner une taille au body dans l'iframe?

Reply

Marsh Posté le 23-02-2005 à 16:31:48    

Prend la page que t'as mis dans l'iframe. Et modifie la déclaration CSS. C'est bien toi qui l'as mise, non ?

Reply

Marsh Posté le 23-02-2005 à 16:35:43    

Si je comprends bien, je dois prendre la page que je veux afficher dans l'iframe. ca, ok. mais seulement je n'ai pas de CSS pour cette page. Je dois en faire une? C'est en fait une simple page avec du texte. Dis-moi...;)

Reply

Marsh Posté le 23-02-2005 à 16:39:33    

Je deviens fou :cry: :cry:
 
DANS (dedans, inside) l'iframe, y'a la page http://www.fisenne.be/new/fisenne1.htm
 
Dans le code source de cette page, y'a un style CSS qui contient la définition de la marge

Reply

Marsh Posté le 23-02-2005 à 16:44:07    

non tu ne deviens pas fou! c'est moi qui déconne.
Toutes mes excuses. je te suis mnt. Je vois ce que tu veux dire. Mais je devrais changer combien à la place?

Reply

Marsh Posté le 23-02-2005 à 16:45:11    

Essaye de remplacer le margin par un padding :

Code :
  1. body {
  2.   margin: 0px;
  3.   padding: 0px 0px 0px 55px;
  4. }

Reply

Marsh Posté le 23-02-2005 à 16:54:02    

ca ne change rien... Mais en fait, j'ai essayé tellement de choses. mais je me demande: le CSS présent dans cette page sert à quoi? ce n'est pas un reste d'un truc que j'aurais supprimé par après? il me semble qu'il n'est pas utilisé plus bas... Je crois n'avoir qu'un css utilisé dans la page index. Celui de fisenne1.htm sert à qqch tu crois? En tous cas, si tu réussis à m'aider sur ce coup-là, tu mérites une belle bouteille pour ton aide et ta patience!

Reply

Marsh Posté le 23-02-2005 à 17:04:08    

Ah ben j'en sais rien, c'est à toi de savoir ce que tu as fait :D

Reply

Marsh Posté le 23-02-2005 à 17:09:54    

ben je sais plus. mais si je suprime ce css de body, ca ne change rien du tout. Tu crois qu'il serait bien d'en créer un et de l'utiliser. Si oui, sais-tu me dire comment? cela servirait, si je comprends bien, à délimiter la largeur de la page qui s'affiche dans l'iframe? Stp, ne me laisse pas tomber... sauve-moi;)

Reply

Marsh Posté le 27-02-2005 à 00:01:11    

bingojm j'ai p-ê trouver une solution à ton problème
la solution en question fait intervenir du php c'est tout à cette adresse:
http://www.alsacreations.com/articles/frames/suite.php
 
voilà voilà j'espère que ça te simplifira la tache ;)


Message édité par gugus le 27-02-2005 à 00:01:26
Reply

Marsh Posté le 28-02-2005 à 18:36:14    

Merci Gugus!!!! Tu n'imagines pas à quel point je désepérais! Grand merci. Il faut dire que je n'ai pas encore essayé mais c'est exactement ça que je cherchais! Encore merci

Reply

Marsh Posté le 28-02-2005 à 20:34:28    

héhé de rien :) moi aussi je cherchais à faire ça ;)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed