Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Обмен значений переменных через фреймы (https://javascript.ru/forum/events/8165-obmen-znachenijj-peremennykh-cherez-frejjmy.html)

kodoo 11.03.2010 14:29

Обмен значений переменных через фреймы
 
Извиняюсь за глупый вопрос, но уже все облазил - не смог найти.
Допустим в одном фрейме есть "глобальная" переменная. Мне нужно просто передать ее в ф-ию, находящуюся в др фрейме.
//И еще попутно хотелось бы узнать как вызывать ф-ии из разных фреймов.
Заранее спасибо.

Octane 11.03.2010 15:12

ифрейм.contentWindow.глобальная_переменная

kodoo 11.03.2010 15:42

"ифрейм.contentWindow.переменна я"
Где ифрейм это id ифрейма, где была определена глобальная?
Я попробовал так - FireBug поругался что этот самый "ифрейм" не определен.
Уточните пожалуйста.

kodoo 11.03.2010 17:33

Друзья, помогите пожалуйста. Мне всего лишь нужно хранить и изменять переменные в одном фрейме (или ифрейме, это не важно) и мочь обратиться к ним с других фреймов.
Напишите пожалуйста одну строчку, а то у меня уже голова начинает болеть от копания в куче малоизвестной информации и бесконечных и безрезультатных проб.
Большое спасибо.

Octane 11.03.2010 18:15

Не id, а ссылка на фрейм. И вообще, покажите код, чтобы не гадать, что и куда передать надо.

kodoo 11.03.2010 18:37

Сам index:
<HTML>
<HEAD></HEAD>
<FRAMESET ROWS="*,*">
<NOFRAMES>
<H1>Ваша версия WEB-броузера не поддерживает фрэймы!</H1>
</NOFRAMES>
<FRAMESET COLS="65%">
 <frame id="top" name="top" src="top.html" >
</FRAMESET>
<FRAMESET COLS="*">
<frame id="bot" name="bot" src="bot.html"  >
</FRAMESET>
</FRAMESET>
</HTML>

Фреймы:
top:
<html>
<head>
<!-- страница(фрейм) предназначена для хранения значений переменных -->
<script>
a = "Объявленная переменная"
</script>
</head>
<body>
</body>
</html>

bot:
<html>
<head>
</head>
<body>
<!-- Пример вызыва переменной с другого фрейма -->
<input type="button" value="Запустить" onclick="alert(ифрейм.contentWindow.переменная)"/> //Вот это, собственно, и не ясно.
</body>
</html>

Вот и вся задача: в одном фрейме объявляются и хранятся переменные, в другом фрейме их используют.

Octane 11.03.2010 20:13

top.document.getElementById('top').contentWindow.a

kodoo 11.03.2010 20:22

Огромнейшее тебе спасибо, Octane. Выручил.

valyan 05.11.2012 00:04

Делаю так
1. Страника index.jsp
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
       
    </head>
     <frameset rows="10%,*">
            <frame src="top.jsp" name="top" scrolling="no">
            <frameset cols="20%,*">
                <frame src="man.jsp" id="man" name="man">
                <frame src="main.jsp" id="main" name="main">
            </frameset>
        </frameset>
    <body>
        
    </body>
</html>

2. Фрейм man.jsp
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script>
            a = "Объявленная переменная";
        </script>
    </head>
    <body>

    </body>
</html>

3. Фрейм main.jsp
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <input type="button" value="Запустить" onclick="alert(man.document.getElementById('man').contentWindow.a)"/>
    </body>
</html>

Что делаю неправильно?


Часовой пояс GMT +3, время: 09:55.