Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Yello
Зарегистрирован: 09.03.2006 Сообщения: 107
|
Добавлено: Чт Фев 08 2007 17:01 Заголовок сообщения: Обмен данными м/у фреймами через OBJECT в parente - ? |
|
|
Стандартная ситуация - надо, чтобы в parente (который frameset) была некая переменная, доступная (и на чтение, и на запись) из, собственно, фреймов.
Можно, конечно, сделать скрытый фрейм с формой, поле которой и будет играть эту роль.
Но, по уму, должен быть OBJECT парента, и его поля - служат для этой цели.
Я попытался, второй вариант почему-то не работает, как надо:
index.htm:
Код: |
<HTML>
<HEAD>
<BASE HREF="http://www.trainer">
<OBJECT id="EXCHANGE"></OBJECT>
<SCRIPT language=JavaScript>
function prn(src)
{
EXCHANGE.PROP1="HUNTA";
EXCHANGE.PROP2="SOVA";
}
</SCRIPT>
</HEAD>
<FRAMESET ROWS="*,0" onLoad="prn(0);">
<FRAME NAME="HAER" SRC="main.htm" FRAMEBORDER="0" NORESIZE MARGINWIDTH="0" MARGINHEIGHT="0" SCROLLING="AUTO">
</FRAME>
<FRAME NAME="FORMA" SRC="frm.htm" FRAMEBORDER="0" NORESIZE MARGINWIDTH="0" MARGINHEIGHT="0" SCROLLING="NO">
</FRAME>
</FRAMESET>
</HTML> |
main.htm:
Код: | <HTML>
<HEAD>
<BASE HREF="http://www.trainer">
</HEAD>
<BODY>
<SCRIPT type="text/javascript">
document.write(EXCHANGE.PROP1);
</SCRIPT>
</BODY>
|
frm.htm тоже есть, но там ничего нет (и не нужно).
Установка значений в самом паренте - работает, а вот СЧИТЫВАНИЕ (в main) - ошибка. (писать .value - пробовал). Что не так? |
|
Вернуться к началу |
|
|
Yello
Зарегистрирован: 09.03.2006 Сообщения: 107
|
Добавлено: Пт Фев 09 2007 23:53 Заголовок сообщения: |
|
|
Поясняю, откуда я это взял:
Цитата: | Разделение данных между фреймами
Авторы могут разделять данные между несколькими фреймами, включая эти данные с помощью элемента OBJECT. Элемент OBJECT следует включать в элемент HEAD документа с фреймами и давать ему имя с помощью атрибута id. Любой документ, являющийся содержимым фрейма, может ссылаться на этот идентификатор.
В следующем примере показано обращение скрипта к элементу OBJECT, определенному для всего набора фреймов:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0
Frameset//EN"
"_THE_LATEST_VERSION_/frameset.dtd">
<HTML>
<HEAD><TITLE>Это набор фреймов с элементом OBJECT в разделе HEAD</TITLE>
<!-Этот элемент OBJECT не представляется! -->
<OBJECT id= "myobject"data="data.bar"></OBJECT>
</HEAD>
<FRAMESET>
<FRAME src= "bianca.html"name=
"bianca">
</FRAMESET>
</HTML> <!-- In bianca.html
-->
<HTML>
<HEAD><TITLE>Страница Бьянки</TITLE>
</HEAD>
<BODY>
...начало документа...
<P>
<SCRIPT type="text/javascript">
parent.myobject.myproperty
</SCRIPT>
...продолжение документа...
</BODY>
</HTML>
|
Вот так-то эти бъянки (лесб...). Оказалось, что с ними не всё так просто, как казалось. |
|
Вернуться к началу |
|
|
VicWrc
Зарегистрирован: 20.04.2006 Сообщения: 21
|
Добавлено: Сб Фев 10 2007 17:47 Заголовок сообщения: |
|
|
Коль пользуешься фреймами имеет смысл сделать один из них статичным, и из него проводить всякого рода манипуляции, используя в Джаваскрипте структуру
Код: |
parent.bianca. (и тут уже работаешь с ним как хочешь)
|
Для модификации парента используй:
Код: |
parent.document. (и тут уже работаешь с ним как хочешь)
|
Тогда тебе эти глобальные переменные и не понадобятся |
|
Вернуться к началу |
|
|
Yello
Зарегистрирован: 09.03.2006 Сообщения: 107
|
Добавлено: Чт Фев 15 2007 09:23 Заголовок сообщения: |
|
|
Ну, я так в-общем и делал (первый вариант), этот фрейм был скрытым.
Значит, делать глобальные переменные, "видимые" из всех фреймов (при обращении window.parent) - нельзя. Да? |
|
Вернуться к началу |
|
|
VicWrc
Зарегистрирован: 20.04.2006 Сообщения: 21
|
Добавлено: Вс Фев 18 2007 12:54 Заголовок сообщения: |
|
|
У меня не получалось))) |
|
Вернуться к началу |
|
|
Yello
Зарегистрирован: 09.03.2006 Сообщения: 107
|
Добавлено: Пн Фев 19 2007 00:34 Заголовок сообщения: |
|
|
Дык это... В этом скрытом фрейме делаешь формы с полями, а с ними уже и работаешь, как с переменными. Тип полей, кстати, не обязательно hidden, а какой тебе надо. Вот как я делал. А переменные (глобальные для того окна) - не видятся, так же как и parenta.
А в связи с этим вообще такой вопрос: в иерархию элемента, доступного как window.top, вообще какие-нибудь переменные могут входить?
Даже более общее: вообще глобальные переменные входят в иерархию объектов документа, или НЕТ (они доступны ТОЛЬКО как часть БЛОКА "{}")? |
|
Вернуться к началу |
|
|
VicWrc
Зарегистрирован: 20.04.2006 Сообщения: 21
|
Добавлено: Сб Мар 03 2007 18:17 Заголовок сообщения: |
|
|
2Yello
да я не о том - я о глобальных) |
|
Вернуться к началу |
|
|
|