Общая переменная для фреймов.
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Общая переменная для фреймов. Expand / Collapse
Автор
Сообщение
10.02.2007 0:22
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 29.03.2007 20:51
Сообщ.: 9, Visits: 23
Стандартная ситуация - надо, чтобы в 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 - пробовал). Что не так?
Сообщ. #910652
10.02.2007 9:11
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 29.05.2008 20:04
Сообщ.: 269, Visits: 2 381
код помещаеться в окно из которого перессылаються значения....

top.name_frame.document.getElementById("idz1").innerHTML=document.getElementById("idz").innerHTML;

В фрейме из которого пересылаються:

<h2 id="idz">Текст для передачи в другое окно...</h2>

В окне куда передают:

<h2 id="idz1"> </h2>

----------------------------------
Я безработный...
Возьмите меня на работу. =)

Сообщ. #910655
10.02.2007 11:07
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
Можно проще. В index.htm пишем:

<head> 
<script language="javascript" type="text/javascript">
var PROP1="HUNTA";
var PROP2="SOVA";
</script>
</head>

Затем в main.htm:

<script language="javascript" type="text/javascript">
document.write(window.top.PROP1);
</script>
Сообщ. #910657
10.02.2007 18:28
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 29.03.2007 20:51
Сообщ.: 9, Visits: 23
Во-первых, спасибо всем. Но...

bazile, не работает такой main. Кроме дословно этого, пробовал вместо top писать parent, добавлять ".document" - одно и то же. Нету таких переменных, и всё тут. Не видятся они.

Vizlim, задача как раз ставится так - не отображать, а иметь некую аккумуляторную переменную, к которой и любой фрейм, и сам их parent имеют доступ, "видят" её. Понимаю, что для этих целей как раз лучше всего использовать куки. Но есть одно условие: в этом проекте не использовать куки вообще.

Хоть и работает со скрытым фреймом, всё отлично, но ведь... не солидно это, вроде: вводим искусственные методы, а наверняка д.б. "естественный"... Подскажите, плз...

Сообщ. #910662
11.02.2007 9:21
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 29.05.2008 20:04
Сообщ.: 269, Visits: 2 381
window.top.name_frame.a="world";

<FRAME src="окно2.htm" name="name_frame">

=====окно2.htm====

<script>

var a="Hello";

function A() {

alert(a);

}

</script>

<body onClick="A()">

----------------------------------
Я безработный...
Возьмите меня на работу. =)

Сообщ. #910667
14.02.2007 23:53
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 29.03.2007 20:51
Сообщ.: 9, Visits: 23
Ну, будет переменная а  в подчинённом фрейме.

А надо чтобы - в паренте, и чтобы любой подчинённый имел к ней доступ (сами они, эти подчинённые, будут постоянно меняться-перезагружаться, причём все).

Ладно, я вижу, тут надо сдаться... Буду делать со скрытым фреймом (он-то не перегружается).

Сообщ. #910792
15.02.2007 10:13
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 29.05.2008 20:04
Сообщ.: 269, Visits: 2 381
Yello (14.02.2007)
Ну, будет переменная а  в подчинённом фрейме.

А надо чтобы - в паренте, и чтобы любой подчинённый имел к ней доступ (сами они, эти подчинённые, будут постоянно меняться-перезагружаться, причём все).

парент (страница где создаються фреймы):

<script>
var abc="figaro";

function BA() {
alert("bugaga "+abc);
setTimeout("BA()", 4000)
}
BA();
</script>

 

<FRAME src="окно.htm" name="aaa">

=======окно.htm=======

<script>

function A() {

parent.abc="tyt";

}

</script>

<body onClick="A()">

----------------------------------
Я безработный...
Возьмите меня на работу. =)

Сообщ. #910797
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 10:55