2010-05-24 2 views
0

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

  • Содержание на крайней левой панели находится список из файла 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 не определен.

ответ

2

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

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

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

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

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

  1. HTML
  2. CSS
  3. JS

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

  1. HTML (в фрейме)
  2. HTML (в верхней части)
  3. CSS (в верхней части)
  4. JS (топ)
  5. HTML (левый)
  6. CSS (левый)
  7. JS (лево)
  8. HTML (правый)
  9. CSS (права)
  10. JS (права)
+0

эй это для очень небольшого проекта, который будет использоваться, возможно, только я в локальной машине. i wouldnt использовать фреймы otehrwise – Amarsh

+0

ok, np, для загрузки любого кадра, просто поместите 'target =" name "' для рамки, на который вы хотите настроить таргетинг. Пока вы определяете имена в файле frameset, все ссылки должны работать. – scunliffe

+1

Bummer! Мне не хватало «в моем html-файле. Извиняюсь за это. Ваши комментарии заставили меня дважды подумать, прежде чем использовать фреймы в будущем. Большое спасибо. – Amarsh

Смежные вопросы