La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  Javascript / DOM / Ajax
(Modérateurs: Shain, Netah, Lilian, lauryv, ToToMaStEr)
  Ouvrir deux liens dans deux frames différentes
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: Ouvrir deux liens dans deux frames différentes  (Lu 1637 fois)
Ouvrir deux liens dans deux frames différentes
« sur: le 14-05-2005 a 14:03:04 »
JoneSmice
Membre récent
*

Hors-Ligne

Messages: 2



Je suis un lama!

Voir le Profil
Répondre avec citation

Bonjour à vous...

Il y a un code, qui n'a pourtant pas l'air très compliqué, qui me fait galérer depuis quelques temps...

J'ai deux frames A et B.
J'ai un lien dans la frame A et je voudrais que lorsque je clique dessus, ça ouvre le lien dans la frame A ET un autre dans la frame B en même temps...

Comment faire?

Je vous remercie...

Rapporter au modérateur  

Re:Ouvrir deux liens dans deux frames différentes
« Répondre #1 sur: le 14-05-2005 a 21:04:22 »
lab_siteweb
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 21



Je suis un lama!

Voir le Profil
Répondre avec citation

Salut,

je ne pense pas que tu puisses faire ça uniquement en HTML, mais ça doit sûrement être possible en Javascript avec un attribut onclick sur ta balise <a>.

Rapporter au modérateur  
Re:Ouvrir deux liens dans deux frames différentes
« Répondre #2 sur: le 14-05-2005 a 22:16:07 »
jb_gfx
Superactif
****

Hors-Ligne

Sexe: Male
Messages: 562





Voir le Profil    WWW
Répondre avec citation

Si tu permet que je te donne mon avis : les frames c'est dépassé, inaccessible, mal pour le référencement et l'utilisateur, etc... bref c'est beurk!

Mais bon si tu tiens vraiment à les utiliser, voilà une méthode simple et propre pour changer 2 liens à la fois avec un peu de js.
Code à placer dans la partie head de ta page HTML (la Frame qui contiendra ton lien double) :

Code:

<script type="text/javascript" src="scripts/changeframes.js"></script>

<script type="text/javascript">
<!--
window.onload = function runScripts()
{
  changeFrames() ;
}
-->
</script>


Tes liens HTML (à placer aussi dans ta page HTML, la même où tu appelle le script) :

Code:

<a id="lien_accueil" href="menu-accueil.html" target="menuFrame" title="Présentation de la boutique">Accueil</a>
<a id="lien_catalogue" href="menu-catalogue.html" target="menuFrame" title="Catalogue de produits">Catalogue</a>


Javascript, le fichier changeframes.js :

Code:

function changeFrames ()
{
  var accueil = document.getElementById('lien_accueil');
  accueil.onclick = function ()
  {
      self.location='accueil.html';
  }

  var catalogue = document.getElementById('lien_catalogue');
  catalogue.onclick = function ()
  {
      self.location='catalogue.html' ;
  }
}


Comme tu peux voir, l'une des 2 frames est changé par ton lien HTML (comportement normal) la 2eme frame est elle changée par le script js. Ce qui fait que pour les utilisateurs qui n'ont pas javascript, au moins une des deux frames sera quand même changée. A toi de faire en sorte que ce soit la plus importante des deux.

Pour tes liens il suffit de leur attribuer un id :

Code:

<a id="lien_accueil" ...


Rappelle toi que l'id doit être UNIQUE!

Ensuite tu peux avoir autant de liens que tu veux il te suffit de duspliquer le bout de javascript et de changer l'id, le nom des variables et les cibles...

Dans le script d'exemple je change la frame ou se trouve le lien (self) mais si tu veux changer une autre frame il te suffit de préciser le nom que tu lui a attribué, différents exemples :

Code:

parent.maFrame.location='catalogue.html' ;
self.location='catalogue.html'

Voilà, ce script fonctionne sur IE 5, 6, Mac, Safari, Opera, FireFox, j'en passe et des meilleurs


Note finale, tu peux changer autant de frames que tu veux avec un seul lien :

Code:

  var catalogue = document.getElementById('lien_catalogue');
  catalogue.onclick = function ()
  {
      parent.maFrame1.location='page1.html' ;
      parent.maFrame2.location='page2.html' ;
      parent.maFrame3.location='page3.html' ;
      parent.maFrame4.location='page4.html' ;
  }

« Dernière Édition: le 14-05-2005 a 22:19:00 par jb_gfx » Rapporter au modérateur  

http://www.pixemedia.com
Re:Ouvrir deux liens dans deux frames différentes
« Répondre #3 sur: le 15-05-2005 a 15:34:39 »
JoneSmice
Membre récent
*

Hors-Ligne

Messages: 2



Je suis un lama!

Voir le Profil
Répondre avec citation

Merci beaucoup jb_gfx pour ta réponse: ça marche enfin...

Le temps de chargeemnt des pages va nettement s'améliorer...

Merci encore!

Rapporter au modérateur  
Re:Ouvrir deux liens dans deux frames différentes
« Répondre #4 sur: le 16-05-2005 a 00:29:36 »
jb_gfx
Superactif
****

Hors-Ligne

Sexe: Male
Messages: 562





Voir le Profil    WWW
Répondre avec citation

Citation de: JoneSmice le le 15-05-2005 a 15:34:39
Le temps de chargeemnt des pages va nettement s'améliorer...

C'est assez illusoire en réalité. Car dans tes pages HTML ce qui est vraiment long à charger ce sont les images, les parties textes sont quand à elles trés rapide à lire. Donc une fois la première page chargée et que tes images sont dans le cache les autres pages se chargeront trés vite (sauf les parties où tu chargera de nouvelles images, mais dans ce cas même avec des frames c'est pareil).

donc frame ou pas frame ça ne change pas vraiment le temps de chargement, tout au plus l'illusion que c'est plus rapide car une partie reste affiché le temps que charge le nouveau contenu.

Si en plus tu utilise une feuille de style pour la mise en forme de ton site l'avantage reviens au pages classiques.

Par contre les frames posent de serieux problèmes d'accessibilité et sont plus difficiles à référencer. Et pour l'utilisateur elles sont génantes en plusieurs points :

- il est diffficile de mettre une page en favori (on met la frame parente en favori mais pas le contenu qu'on souhaite).

- les titres de tes pages ne changent pas selon le contenu, cela rend la navigation moins intuitive tout en nuisant au référencement.

- tes frames peuvent être déframés par les moteurs de recherches, dans ce cas un visiteur peut tomber sur le contenu d'une de tes frames sans savoir quel site il visite.

Et d'autres, mais j'ai la flemme de lister toutes les raisons qui font que les frames c'est dépassé et il n'y a aucun interet à les ressortir du placard poussiéreux dans lequel on les a rangé.

Rapporter au modérateur  

http://www.pixemedia.com
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg