Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как фрейму указать?
 
 автор: Hunter   (28.08.2006 в 13:26)   письмо автору
 
 

Хочу сделать следующее: из страницы А надо перейти по ссылке L1 на страницу B, которая содержит фрейм, и в этом фрейме должна отобразиться страница, соответствующая ссылке L1. Можно ли такое сделать и если да то как.
P.S. Спрашивал уже на многих форумах, но никто ничего дельного так и не ответил :-(

   
 
 автор: 12345   (28.08.2006 в 15:05)   письмо автору
 
   для: Hunter   (28.08.2006 в 13:26)
 

Другими словами, некий абсурд: Страница В - по адресу L1, в которой фрейм с этой же страницей В с адресом L1. Правильно?

   
 
 автор: RMW   (28.08.2006 в 15:54)   письмо автору
 
   для: Hunter   (28.08.2006 в 13:26)
 

Тебе тогда нужно делать как бы двойную ссылку
т.е L1 должна содержать url страницы B и url страницы
которая бы загрузилась в один из фреймов
на странице B.
Например:
Файл A.htm

<html>
<head>
<title>A</title>
</head>  
<body>
 
<a href="B.htm?http://softtime.ru/forum/index.php?id_forum=4">L1</a>

</body>
</html>

Файл B.htm

<html>
<head>
<title>B</title>

<script>

function f()
{
  /*self.frames['myFrameTwo'].location=self.location*///:)
  self.frames['myFrameTwo'].location=self.location.search.slice(1);
}

</script>
</head>

<frameset rows = "50%,50%" frameborder = "yes" onload="f()">

  <frame src="about:blank" name="myFrameOne">
  <frame src="about:blank" name="myFrameTwo">

</frameset>

</html>

   
 
 автор: Hunter   (28.08.2006 в 19:41)   письмо автору
 
   для: RMW   (28.08.2006 в 15:54)
 

КЛАСС!!
СУПЕР!!
Просто то что надо!!
ОГРОМНОЕ тебе спасибо, я с этим столько мучился.
А не мог бы ты объяснить (хотя бы в двух словах) КАК это все работает (а то я немного не понял).

   
 
 автор: Hunter   (28.08.2006 в 22:18)   письмо автору
 
   для: Hunter   (28.08.2006 в 19:41)
 

А можно ли такое же сделать с плавающим фреймом? Почему-то постоянно моргает.

   
 
 автор: Hunter   (28.08.2006 в 23:34)   письмо автору
 
   для: Hunter   (28.08.2006 в 19:41)
 

Все, проблему решил. Теперь другой вопрос: почему когда пытаешся перейти назад (с помощью стрелки в панели браузера) переходит сначала на пустую страницу (а точнее на несуществующую) а уже потом на ту, с которой был осуществлен переход на страницу с фреймом.

   
 
 автор: RMW   (29.08.2006 в 13:52)   письмо автору
 
   для: Hunter   (28.08.2006 в 23:34)
 

Попробуй указать в качестве начального src ифрейма "about:blank"
либо вообще не указывать src.
Пример с iframe:
Файл B.htm

<html>
<head>
<script>
function f() 

  self.frames['ifr'].location=self.location.search.slice(1); 
}
</script>
</head>
<body onload="f()">
<iframe name="ifr" src="about:blank"></iframe>
</body>
</html>

Как работает, в двух словах:
frames['ifr'] - обращение к нужному фрейму.
frames['ifr'].location = "url" - заставляем фрейм перейти на нужный url.
search - свойство объекта Location задающее часть url которая содержит
строку запроса (то, что у нас при передаче запроса идёт после символа-разделителя "?")
включая сам символ "?".
slice() - строковая функция позволяет избавиться от "?" в начале строки.
Вот буквально в двух словах.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования