Страница 1 из 1

Знатоки HTML

СообщениеДобавлено: Вс дек 10, 2006 4:27 am
Gregory
Есть такая задача.
Необходимо, что бы по ссылке открывалась страница с фреймами. Один фрейм - меню, он там всегда. А второй фрейм меняется, в зависимости от выбора меню. Так вот, необходимо, что бы, при открытии, второй фрейм был определённый, отличный от дефолтного.
Можно ли такое вообще сделать?

СообщениеДобавлено: Вс дек 10, 2006 6:31 pm
VicoNT
Gregory
Не совсем понимаю, от чего должен зависеть тот или иной вывод второго фрейма, но это, в любом случае, можно сделать при помощи любого скриптового языка (PHP, Perl, etc). Итак:

Код: Выделить всё
<frameset rows="80,*" cols="*" frameborder="NO" border="0" framespacing="0">
  <frame src="/UntitledFrame-2" name="topFrame" scrolling="NO" noresize >
  <frameset cols="80,*" frameborder="NO" border="0" framespacing="0">
    <frame src="/UntitledFrame-3" name="leftFrame" scrolling="NO" noresize>
    <frame src="/Untitled-1" name="mainFrame">
  </frameset>
</frameset>


Реально ты меняешь в данном коде только ссылку mainFrame, т.е. в данном случае /Untitled-1 - меняй его на любой...

СообщениеДобавлено: Пн дек 11, 2006 2:59 am
Gregory
Попробую пояснить.
Это ты создал страницу с фреймами. А вот как теперь с какой-то другой страницы, через ссылку, её вызвать так, что бы вместо Untitled-1 открылся Untitled-2?

СообщениеДобавлено: Пн дек 11, 2006 9:18 am
VicoNT
Gregory
только использую сторонний скриптовый язык... т.е, скажем, пример на PHP:

Код: Выделить всё
<frameset rows="80,*" cols="*" frameborder="NO" border="0" framespacing="0">
  <frame src="/UntitledFrame-2" name="topFrame" scrolling="NO" noresize >
  <frameset cols="80,*" frameborder="NO" border="0" framespacing="0">
    <frame src="/UntitledFrame-3" name="leftFrame" scrolling="NO" noresize>
<?
    echo ("<frame src='/Untitled-'" . $id . "' name='mainFrame'>");
?>
  </frameset>
</frameset>


Между <? и ?> - как раз PHP-код.
Где $id - будет номер страницы, которую ты вызовешь (самый простой вариант, понятно, что можно усложнять и менять все, как захочешь). Понятно, что данный код уже должен находиться в PHP-исполняемом типе файла (.PHTML или .PHP или .PHTM и т.д.), на сервере должен быть установлен PHP, а передавать значение id ты будешь так filename.phtml?id=1

СообщениеДобавлено: Пн дек 11, 2006 2:01 pm
SCIF
VicoNT, ну тогда ещё нужно сказать, что при вверху *.php нужно проверить на существование $id и если ничего не присвоено - присвоить $_GET[$id] вроде так :)

СообщениеДобавлено: Пн дек 11, 2006 2:27 pm
VicoNT
SCIF
естественно :) (хотя я делаю по-другому), но затачивать на этом внимание, особенно, когда набираешь текст с наладонника, не хотелось...

СообщениеДобавлено: Пн дек 11, 2006 4:24 pm
Kanst
Я вот никак не найду, можно ли и как сделать, чтобы при заходе по ссылке на центральный фрейм открывались фреймы с менюшками.

СообщениеДобавлено: Пн дек 11, 2006 8:08 pm
Gregory
VicoNT писал(а):Понятно, что данный код уже должен находиться в PHP-исполняемом типе файла
В принципе понятно, но сложновато... :lol:

Kanst, так что ли, или что-то другое?

СообщениеДобавлено: Вт дек 19, 2006 6:58 pm
Sergeant
нескромный вопрос, а почему именно фрэймы?

СообщениеДобавлено: Ср дек 20, 2006 4:38 am
Gregory
Sergeant писал(а):почему именно фрэймы
Дык, такая структура страницы, на которую надо ссылку встроить.

СообщениеДобавлено: Ср дек 20, 2006 4:55 am
Kanst
Gregory писал(а):Kanst, так что ли, или что-то другое?

В принципе так.
Напиши примерчик, как такое сделать?

СообщениеДобавлено: Ср дек 20, 2006 9:11 am
VicoNT
Gregory писал(а):Дык, такая структура страницы, на которую надо ссылку встроить.

Нет ни одного случая в HTML (кроме живого e-shop'а, который должен работать, не перегружая страницу, да и тут уже новые технологии предлагают решение), когда фреймы были бы единственным решением. Вводились они в эпоху бедности самого языка HTML, и ИМХО - они зло (по ряду причин). Достаточно совсем чуть-чуть изучить любой скриптовый язык, чтобы отказаться от фреймов, и сайт только выиграет!

СообщениеДобавлено: Ср дек 20, 2006 10:00 am
Sergeant
Полностью согласен с Виконтом
У меня, конечно, нелюбовь к фреймам с года этак 99го ...
Когда все только начиналось, поисковики фреймы не любили, и все такое прочее.
Недавно Виконт делал какую-то системку для работы, так и там фреймы выкосили :)

Фреймы не удобны. В одном что-то делаешь, другой про это даже не знает. Приходится все это добро из фрейма в фрейм перебрасывать. :(

Если есть возможность - лучше отказаться.
Основная причина, как я понимаю - не перезагрузка фрейма с меню/списком-чего-либо/и-т.-д.
НО!
Много ли этот список занимает? Много трафика он не съест.
А если уж надо, что бы проще на всех страницах редактировать - в DreamWeaver'е есть темплейты - сильно облегчают работы с обычныхм HTML - удобство динамических языков (в ограниченном объеме, конечно) + не обязательное их изучение :)

СообщениеДобавлено: Ср дек 20, 2006 4:00 pm
Gregory
Kanst писал(а):Напиши примерчик, как такое сделать?
Так открой пункт меню браузера "В виде HTML" (или наподобие - зависит от браузера), для в/у страницы. Там, в принципе, всё понятно. Смысл в том, что в данной странице задаются только адреса страниц для фреймов, их относительные размеры, назначается главный, и т.п. Но, может тебе действительно другой подход рассмотреть.

VicoNT, Sergeant, да я и не спорю, что можно всё сделать по-другому. Но вот, честное слово, некогда заниматься изучением скриптовых языков, да и не очень хочется. :wink:
Единственное, с чем всё-таки рискну не согласиться, это то, что такие страницы, всё-таки более "громоздкие". Сейчас многие кинулись "улучшать" свои ресурсы, так со своей старой машины, на которой по сети лазил, на половину мне вообще не зайти, а на половине почти все сервисы не работают. Приходится у дочки ноутбук клянчить. :lol: Хорошо хоть, что любимый форум (не будим уточнять какой :beer: ) грузится почти без проблем, за небольшим исключением "ошибки джава-приложения".