IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Recharger une frame HTML


Sujet :

JavaScript

  1. #1
    Membre averti Avatar de Amélie Ladoque
    Inscrit en
    Novembre 2004
    Messages
    254
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 254
    Points : 314
    Points
    314
    Par défaut Recharger une frame HTML
    Bonjour,

    J'ai une page HTML avec deux frames :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <FRAMESET COLS="30%,70%">
    	<FRAME SRC="a.php" NAME="A">
    	<FRAME SRC="b.php" NAME="B">
    </FRAMESET>
    Depuis A, j'ai besoin de faire un rechargement de B avec un lien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javascript:parent.frames['B'].location.href='b.php?id=1'
    Ca recharge bien B mais ça change aussi A.

    Comment faire ?
    Merci

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 048
    Points : 44 562
    Points
    44 562
    Par défaut
    Bonjour,
    il y a fort à parier que cette action s’exécute à partir d'une balise <a>, dans ce cas il faut annuler l'action par défaut des liens.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="b.php?id=1" onclick="parent.frames['B'].location.href = this.href; return false">le lien</a>

  3. #3
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2008
    Messages : 60
    Points : 50
    Points
    50
    Par défaut
    Bonjour,

    vous pourrez trouver les codes sur la faq Comment mettre à jour une frame à partir d'une autre frame ?.

    c'est en appelant la frame par son nom dans l'attribut target du a qu'on la change spécifiquement, il me semblait bien que c'était simple à faire comme une ancre.


    mais il me semblait qu'il était TRES fortement déconseillé d'utiliser des frames depuis plusieurs années dans les sites car cela nuit gravement à leur référencement.

    Vous n'avez pas précisé que c'était pour un site donc ce n'est pas forcément utile, mais au cas où, je préférais que vous ne passiez pas trop de temps à faire une structure qui pourrait vous nuire ensuite.
    d'autant qu'avec un peu de DOM et d'AJAX vous pourriez faire ça ne manière plus "légère", il faudrait faire aussi de l'URL-REWRITTING pour votre lien, car id=1, ce n'est pas terrible non plus pour le référencement, mais ça en vaudrait la peine.

    Bon courage en tout cas et bonne continuation,

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 176
    Points : 95
    Points
    95
    Par défaut
    Merci pour l'information. Oui je vois bien que les cadres ne sont pas l'idéal et sont à éviter.
    Depuis une semaine, je cherche la solution sur Internet et je n'ai toujours pas de réponse.

    Comme je le mentionnais, j'ai tenté de changer mon code pour le modèle qu'on m'a référé. J'ai les espaces que j'ai besoin sauf que je n'arrive pas à faire afficher mes pages.
    Comment appeler le javascript dans le code? Tout ce que j'ai ce sont des tableaux gris qui s'affiche. Dans ces tableaux, j'aimerais avoir les pages que j'ai créé en HTML.
    Voici une partie de mon code:
    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
     
    <script type="application/javascript">
     $(document).ready(function() 
     {	/* chargement des contenus */	
     	$("#left").load("menu.html", "text/html");	
     	$("#data").load("content.html", "text/html");
    	pageResized();	$(window).resize(pageResized);}); 
     
     function pageResized()
     {	
     	var width = $(document).innerWidth();
     	var height = $(document).innerHeight();
    	var page = $("#page");
    	var top = $("#top");	
    	var left = $("#left");	
    	var data = $("#data");	/* calcul et/ou affectation des dimensions */		
    	page.width(width);	page.height(height);	
    	left.height(height - top.outerHeight());	
    	data.width(width - left.outerWidth());	
    	data.height(height - top.outerHeight());	
    	}
    	</script>  
    	<style>body
    et plus bas j'ai mes tableaux:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ...  <table id="page" style="width:100%">	
    	  <tr>		
    		<td colspan="2">			
    			<div id="top" style="height:80px">
    				"Comment appeler la fonction ???"
    			</div>		
    		</td>	
    	</tr>
    <tr>
    ...
    Mes fichiers "Menus.html" et "Content.html" ne s'affichent pas. Pourquoi?
    Dans mon fichier "Menus.html", j'ai des liens qui permettent d'afficher les fichiers différents dans l'espace ou s'affiche le fichier "Content.html" Donc, le tableau changera selon le choix de l'utilisateur.

    Ma question est de savoir comment appeler les fichiers dans mes tableaux et surtout sans que les fichiers ne s'affichent pas dans une nouvelle page.

    Merci.

  5. #5
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2008
    Messages : 60
    Points : 50
    Points
    50
    Par défaut
    je suis navrée mais les tableaux, pour faire une structure de page ne sont pas une bonne solution non plus, ce n'est pas responsive du tout.
    connaissez vous les div ?
    ce serait l'occasion d'essayer ?
    vous avez la page html en ligne ? pour voir ce qui fonctionne pour l'instant.

    sinon, à priori, vous l'appelez déjà :
    dans $(document).ready(function() : on dit que si le document (la page ) est prête il faut faire ce qui suit
    et ce qui suit est l'appel de la fonction qui suit à savoir
    pageResized();
    et
    $(window).resize(pageResized);

    du coup, que voulez vous faire d'autre ?

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 176
    Points : 95
    Points
    95
    Par défaut
    Ce que j'aimerais, c'est que mes infos s'affichent.
    Lorsque je suis dans Webexpert ou Dreamweaver (que je ne comprends pas beaucoup), mes fichiers s'affichent.
    Par contre, si je fais afficher ma page Web avec Internet Explorer, je n'ai que des carreaux gris.
    Pour faire afficher les infos, je dois recopier le script dans chaque tableau?
    Exemple:
    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
    28
    29
    30
    31
    32
    33
     
    ...
    </head> 
    	 <body>
    	<table id="page" style="width:99%">
    	<tr>
    		<td colspan="2">
    			<div id="top" >
    				Bienvenue sur mon site	 
    			 </div>
    		</td>
    	</tr>
    	<tr>
    		<td>
    			<div id="left">    
    				  <script language="javascript">
    					    $("#left").load("menu.html")
     	                       </script> 
    			</div>
    	  </td>
    		<td>
    		  <div id="data"> 
    	 	         <script language="javascript">
    				$("#data").load("content2.html")	
    			</script>
     
      		 </div>
    	</td>
    	</tr>
    </table>
     
    </body>
    </html>
    .
    Je joints mon modèle de fichier. De plus j'ai mis mon fichier comprenant les menus. J'essaie de voir où dans les menus, je devrai mettre le script pour télécharger mes pages.
    Peut-être que vous pourrez m'aider à comprendre mon problème.
    Fichiers attachés Fichiers attachés

  7. #7
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2008
    Messages : 60
    Points : 50
    Points
    50
    Par défaut
    Bonjour,

    comme quoi il faut vraiment tout regarder !!!
    donc j'ai testé vos fichiers aussi, et j'ai eu aussi un problème d'affichage
    du coup, j'ai regardé le code et j'ai vu qu'il manquait un élément que j'ai rajouté : du coup, ça fonctionne, ou du moins le menu gauche s'affiche avec les bonnes dimensions je pense
    par contre au clic ça ne va pas.

    => Mon conseil : trouvez une formation ou suivez un tutoriel de bout en bout pour faire un site, si vous ne savez déjà pas quelle erreur vous avez fait sur cette page alors que c'est une base, vous allez avoir VRAIMENT beaucoup de mal pour la suite !!!

    pour ma part, je n'utilise pas jquery comme ça, du coup, j'en resterai là de mon aide, les autres bugs sont liés à votre méconnaissance de l'outil et nécessitent soit que vous cherchiez dans la notice, les tutos ou autres, soit que vous trouviez (payez ?) quelqu'un pour le faire.

    pour info je vous invite à lire cette page : https://developers.google.com/speed/libraries/ et à essayer de comprendre quel rapport elle a avec votre fichier cadre

    bonne continuation.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 176
    Points : 95
    Points
    95
    Par défaut
    Ouf! je suis contente que cela n'arrive pas seulement à moi.
    Pourrais-je savoir ce que vous avez ajouté? Peut-être que cela me mettra sur une piste.
    Si vous n'utilisez pas jquery, qu'est-ce qui est conseillé?

    J'ai regardé sur internet pour avoir de l'aide sois par des tutoriel ou des exemples, mais comme mon anglais n'est pas très avancé, j'ai des petits problèmes à comprendre les informations.

    Merci pour votre aide.

  9. #9
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2008
    Messages : 60
    Points : 50
    Points
    50
    Par défaut
    bonjour,

    donc je fais des sites moi-même, je n'utilise pas d'outils pour, du coup, je ne peux rien vous conseiller si ce n'est de lire ce qu'on vous conseille.
    avez-vous lu la page google que je vous ai indiquée ?

    si oui et que vous ne voyez toujours pas, en fait, vous avez un problème d'adresse de la librairie jquery sur laquelle vous vous appuyez, ce qui veut dire que vous ne savez pas ce qu'est réellement et physiquement un site.

    sinon, avez-vous regardé là : http://web.developpez.com/cours/ et là http://xhtml.developpez.com/cours/

    dans tous les cas, je vous invite très fortement à recommencer tout à 0 avec une structure plus simple mais que vous maitriserez
    enfin, ça arrive de ne pas savoir se motiver à suivre un cours et à s'auto-former car on manque de rigueur, dans ce cas, le mieux est quand même de vous former avec un prof, vous aurez les mêmes infos mais le cadre vous permettra de les suivre plus facilement.

    bon courage

  10. #10
    Membre averti Avatar de Amélie Ladoque
    Inscrit en
    Novembre 2004
    Messages
    254
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 254
    Points : 314
    Points
    314
    Par défaut
    Citation Envoyé par marycaLou Voir le message
    qu'est-ce qui est conseillé?
    Il est conseillé de ne pas poster son propre problème dans celui d'un autre.
    Pour moi, la réponse donnée résout parfaitement ma question.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] Comment recharger une frame ?
    Par watcha2020 dans le forum ASP.NET
    Réponses: 10
    Dernier message: 06/07/2006, 14h36
  2. recharger une frame
    Par ganga dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 01/06/2006, 17h27
  3. Recharger une frame depuis un pop-up
    Par druidev dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 02/05/2006, 22h34
  4. Détecter qu'une page HTML est ouverte dans une frame
    Par Pigoulou dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 10/01/2006, 14h07
  5. [rechargement d'une frame mère à partir d'une frame fille]
    Par Lady_jade dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 09/12/2005, 11h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo