2010-05-24 8 views
0

Folks, je veux créer une page web avec trois volets (frameLeft, frameMiddle, frameRight)html navigation multiples cadres

  • Le contenu est un volet extrême gauche liste de fichiers list.html

  • En cliquant sur un élément dans le volet le plus à gauche, il charge le fichier html correspondant (appelez-le listLvl2.html) dans le volet du milieu. C'est aussi une liste.

  • En cliquant sur un autre élément dans le volet du milieu doit charger le fichier HTML correspondant à la troisième trame (il permet d'appeler content.html)

I ont fait un fichier index.html avec trois cadres . frameLeft charge la liste.html. J'ai codé list.html pour que chaque lien s'ouvre dans le target = "frameMiddle". Cela fonctionne bien

Le problème est l'ouverture de content.html dans frameRight. Que dois-je mettre en tant que cible dans mes liens listLvl2.html afin qu'ils s'ouvrent dans frameRight? J'ai essayé de le mettre en frameRight, mais à la place, il s'ouvre dans une nouvelle fenêtre. Je suppose que c'est parce que pour listLvl2.html, frameRight n'est pas défini.

Répondre

2

Je vous déconseille vivement. Utiliser Framesets tue les capacités de signet et provoque toutes sortes d'autres problèmes.

Créez une page unique, qui utilise des fragments de code communs pour afficher le contenu des colonnes supérieure et gauche. Les premiers cadres de cadres semblent être une excellente idée - ne chargez des choses dans les cadres que lorsque vous en avez besoin ... mais d'autres problèmes surgissent. Chaque image doit charger sa propre copie des ressources CSS et JavaScript, les utilisateurs ne peuvent pas mettre en signet une sous-page, le titre ne se met jamais à jour sur la bonne page, pas plus que l'URL. Plus tard si vous envisagez un menu déroulant en cascade sur une image d'une autre, vous apprenez rapidement que ce n'est pas possible - période.

Nombre de requêtes HTTP pour une page typique:

  1. HTML
  2. CSS
  3. JS

No.des requêtes HTTP pour un frameset typique (en haut, à gauche, à droite)

  1. HTML (de frameset)
  2. HTML (de haut)
  3. CSS (de haut)
  4. JS (de haut)
  5. HTML (de gauche)
  6. CSS (de gauche)
  7. JS (de gauche)
  8. HTML (de droite)
  9. CSS (de droite)
  10. JS (de droite)
+0

hey c'est un très petit projet, à utiliser peut-être seulement par moi dans une machine locale. Je ne voudrais pas utiliser des cadres otehrwise – Amarsh

+0

ok, np, pour tout chargement de trame, il suffit de mettre 'target =" nom "' pour le cadre que vous souhaitez cibler. Tant que vous avez défini les noms dans votre fichier de jeu de cadres, les liens devraient tous fonctionner. – scunliffe

+1

Bummer! Il me manquait un fichier "dans mon fichier html" Toutes mes excuses pour cela Vos commentaires m'ont fait réfléchir à deux fois avant d'utiliser des cadres à l'avenir. – Amarsh