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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de Amélie Ladoque
    Inscrit en
    Novembre 2004
    Messages
    290
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 290
    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 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    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 confirmé
    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
    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 confirmé
    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
    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 confirmé
    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
    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 confirmé
    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
    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

+ 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