HTML-навигация по нескольким кадрам

Ребята, я хочу создать веб-страницу с тремя панелями (frameLeft, frameMiddle, frameRight)

  • Содержимое крайней левой панели представляет собой список из файла list.html.

  • При нажатии на элемент в крайней левой панели он загружает соответствующий html-файл (назовите его listLvl2.html) в средней панели. Это тоже список.

  • Щелчок дальше по элементу в средней панели должен загрузить соответствующий html-файл в третьем фрейме (давайте назовем его content.html)

Я сделал файл index.html с тремя кадрами. frameLeft загружает list.html. Я закодировал list.html так, чтобы каждая ссылка открывалась в target="frameMiddle" . Это хорошо работает

Проблема заключается в открытии content.html в frameRight. Что я должен указать в качестве цели в моих ссылках listLvl2.html, чтобы они открывались в frameRight? Я попытался поставить его как frameRight, но вместо этого он открывается в новом окне. Я предполагаю, что это потому, что для listLvl2.html frameRight не определен.


person Amarsh    schedule 24.05.2010    source источник


Ответы (1)


Я бы очень советовал против этого. Использование наборов фреймов убивает возможности создания закладок и вызывает множество других проблем.

Создайте одну страницу, которая использует общие фрагменты кода для отображения содержимого верхнего и левого столбцов.

Поначалу наборы фреймов кажутся отличной идеей - загружайте во фреймы только то, что вам нужно... но потом возникают другие проблемы. Каждый фрейм должен загружать свою собственную копию ресурсов CSS и JavaScript, пользователи не могут добавлять в закладки подстраницы, заголовок никогда не обновляется до правильной страницы, равно как и URL-адрес.

Позже, если вы представите выпадающее каскадное меню поверх одного кадра из другого, вы быстро поймете, что это невозможно — и точка.

Количество HTTP-запросов для типичной страницы:

  1. HTML
  2. CSS
  3. JS

Количество HTTP-запросов для типичного набора фреймов (сверху, слева, справа)

  1. HTML (набора фреймов)
  2. HTML (сверху)
  3. CSS (сверху)
  4. JS (из топа)
  5. HTML (слева)
  6. CSS (слева)
  7. JS (слева)
  8. HTML (справа)
  9. CSS (справа)
  10. JS (справа)
person scunliffe    schedule 24.05.2010
comment
эй, это для очень маленького проекта, который, возможно, будет использоваться только мной на локальной машине. иначе я бы не использовал фреймы - person Amarsh; 24.05.2010
comment
хорошо, np, для любой загрузки фрейма просто поставьте target="name" для фрейма, на который вы хотите настроить таргетинг. Пока вы определили имена в файле набора фреймов, все ссылки должны работать. - person scunliffe; 24.05.2010
comment
Облом! Мне не хватало a в моем html файле. Извинения за это. Ваши комментарии заставили меня дважды подумать, прежде чем использовать фреймы в будущем. Большое спасибо. - person Amarsh; 24.05.2010