Jump to content
  • 0

Это можно сделать только фреймами?


кэп
 Share

Question

Хочу сверстать страницы таким образом.

Слева - одновременно панель меню и навигации.

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

Я предполагаю сделать это с фреймами.

Теперь вопросы.

1. Если делать фреймами, сколько должно быть html-файлов?

У меня получается два:

- index.html (в нем задается фрейм - left.html)

- и собственно сам left.html

Нужно два html-файла. Или можно обойтись как-то и одним?

2. Как еще можно сверстать то, что я описал?

Link to comment
Share on other sites

15 answers to this question

Recommended Posts

  • 0

Забудьте про фреймы и ископаемые доктайпы (чай, не в эпоху нетскейпа 3 живем:)). Подгружайте контент на обычную страницу аяксом, с jquery это проще простого: $("#id_блока").load("адрес_html_файла.html");

 

Можно сделать, чтобы jquery автоматически подхватывал клики по ссылкам в меню и подгружал их аяксом вместо обычного перехода, как в примере из этой статьи.

Link to comment
Share on other sites

  • 0

Это не проблема. Пример из статьи обходится статичными html-файлами (плюс один файл js, тоже статичный), а сам jquery, если что, можно подключать с внешнего CDN. Никакого серверного программирования не понадобится.

Link to comment
Share on other sites

  • 0

Забудьте про фреймы и ископаемые доктайпы (чай, не в эпоху нетскейпа 3 живем:)). Подгружайте контент на обычную страницу аяксом, с jquery это проще простого: $("#id_блока").load("адрес_html_файла.html")

Мне кажется подгрузка целых файлов подобным образом будет работать медленне обычных фреймов.
Link to comment
Share on other sites

  • 0

Так подгружайте не целые страницы (как в том примере), а фрагментами). Должно работать быстрее, т.к. каждый фрейм - по сути полноценный объект окна браузера с размерами, событиями загрузки, ресайза, прокрутки и т.п., кучей ненужных обвязок и прочего, а аякс-запрос - деловитая доставка строго того, что запросили, строго туда, куда нужно. На современном настольном компе, конечно, разницу заметить трудно, но в плане расхода памяти и т.п. она есть, и очевидно не в пользу фреймов. И это не считая явного неудобства фреймов для пользователя.

Link to comment
Share on other sites

  • 0

Забудьте про фреймы

Чего-то мне не хочется забывать. Везде пишут, что фреймы - атавизм. Но тем не менее, ВСЕ последние версии браузеров превосходно их поддерживают. Почемуууу?

Первый аргумент против фреймов - никакая индексация в поисковых системах. Ну, во-первых - это легко обходится одним джава-скриптом.

А во-вторых. Мне эта индексация нужна как собаке пятая нога. И на своих страницах у меня вот это:

<META NAME=ROBOTS" CONTENT="NOINDEX, NOFOLLOW">

А сами фреймы очень удобны и элегантны.

Посему любое упомининание про фреймы, как устаревшую технологию, на любом "уважаемом" сайте, любым уважаемым специалистом я воспринимаю не иначе, как зомбаж. Остается только понять "кому, и зачем это нужно?"

Edited by кэп
Link to comment
Share on other sites

  • 0
ВСЕ последние версии браузеров превосходно их поддерживают. Почемуууу?

Если не указывать доктайп, они еще не то поддержат (даже размеры без "px" и hex-цвета без "#":). Обратная, так ее, совместимость с тучей не желающих умирать реальных страниц, сделанных в 90-е или позже, но в том же стиле...

 

 

А сами фреймы очень удобны и элегантны.

Можно пример задачи, которая "удобно и элегантно" решается на разбитом экране? Ни модальное окошко на весь экран не развернуть, ни расширить рабочую область, если в ней станет тесно, об адаптивности и мобильных юзерах лучше вообще не вспоминать. Юзер видит в адресной строке один адрес (ничего не значащий), по факту работает с другим. Для элементарного взаимодействия между навигацией и контентом (типа подсветки активного пункта) приходится городить скрипт. Проблему поисковиков тот же скрипт не решает, а в лучшем случае костылем заметает под коврик - как была половина ключевиков в одном документе, а половина в другом, так и осталось. Вдвое больше запросов к серверу, вдвое больше памяти на объекты браузера, путаница с разными глобальными объектами для скриптов, фиг кроссбраузерно застилизуешь пространство между фреймами...

 

В конце концов, если уже никак без вставки одного HTML в другой, есть же <iframe> - тот же фрейм, но действительно гибкий и удобный (может быть вставлен в любое место любой части страницы, динамически отресайзен при необходимости, перекрыт другим элементом и т.п.). И поддерживаемый не только браузерами (тяп-ляп и чисто ради традиции), но и актуальным стандартом.

Link to comment
Share on other sites

  • 0

Про iframe спасибо, что напомнили. Давно хотел опробовать.

Ну а "Если не указывать доктайп, они еще не то поддержат (даже размеры без "px" и hex-цвета без "#":)"...

Препод читает сочинение и говорит ученику: "Вася, сколько раз повторять, "жи", "ши" пишутся с буквой "и"

Вася: "Ну Иван Петрович, не нравится - не читайте".

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy