Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Обмен данными м/у фреймами через OBJECT в parente - ?

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Создание веб-сайтов
Предыдущая тема :: Следующая тема  
Автор Сообщение
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. (и тут уже работаешь с ним как хочешь)


Тогда тебе эти глобальные переменные и не понадобятсяWink
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
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
да я не о том - я о глобальных)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Создание веб-сайтов Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...