Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

javascript window.open

13K
24 сентября 2009 года
NoHlp
6 / / 06.11.2005
Приветствую.
Вопрос следующий: Как мне вызвать функцию на странице, которая открыта через var m=window.open ?
Желательно чтоб был вызов функции из другой функции окна из которого вызвали window.open
function neww()
{
var m=window.open("a.html","");
}

functio neww2()
{
m.function_name()
}
285
24 сентября 2009 года
Romik
479 / / 24.11.2002
Признаться, вопрос Ваш задан крайне запутано. Тем не менее рискну предположить, что в родительском окне Вы желаете вызвать функцию из вновь созданного окна, тогда всё просто:
[highlight=javascript]
var child=document.open('/child.html','ChildWindow');
child.window.somefunc();
[/highlight]
13K
24 сентября 2009 года
NoHlp
6 / / 06.11.2005
Цитата: Romik
Признаться, вопрос Ваш задан крайне запутано. Тем не менее рискну предположить, что в родительском окне Вы желаете вызвать функцию из вновь созданного окна, тогда всё просто:
[highlight=javascript]
var child=document.open('/child.html','ChildWindow');
child.window.somefunc();
[/highlight]



Спасибо за скорый ответ!

Пишет child.window.somefunc is not a function
Функция такая в открывшемся окне есть.

и нужно вызвать функцию не сразу после открытия в той же функции, а к примеру по нажатию на кнопку.

285
24 сентября 2009 года
Romik
479 / / 24.11.2002
Ну вообще следует дождаться, чтобы документ загрузился. Тут для примера я привёл последовательность без какого-либо ожидания или сигнала. Сделай child глобальной или членом объекта, используй её когда и где тебе нужно.
13K
24 сентября 2009 года
NoHlp
6 / / 06.11.2005
Цитата: Romik
Ну вообще следует дождаться, чтобы документ загрузился. Тут для примера я привёл последовательность без какого-либо ожидания или сигнала. Сделай child глобальной или членом объекта, используй её когда и где тебе нужно.



Лучше выложу 2 файлика!
index_2_1.html
[highlight=html]
<html>
<head>
<script>
var child;
function open_new_window()
{
var child=window.open("index_2_2.html", "map");
child.window.put_dig("222222");
}

function send_quary()
{
child.window.put_dig("222222");
}
</script>
</head>
<body>
<input type='button' onClick='open_new_window()' value='open'>
<input type='button' onClick='send_quary()' value='func window'>
</body>
</html>
[/highlight]
index_2_2.html
[highlight=html]
<html>
<head>
<script>
function put_dig(num)
{
document.getElementById('tt').value=num;

}

</script>
</head>
<body>
<input type='text' id='tt' value='1111'>
<input type='button' onClick='put_dig("333333")'>
</body>
</html>
[/highlight]

Дело как видите не в полной или частичной загрузки страницы. А ошибка так и вываливается

285
24 сентября 2009 года
Romik
479 / / 24.11.2002
Спешу Вас удивить, в функции open_new_window() не нужно вызывать child.window.put_dig(). Так как в данном слуае вызов функции происходит до загрузки документа index_2_2.html
13K
25 сентября 2009 года
NoHlp
6 / / 06.11.2005
Цитата: Romik
Спешу Вас удивить, в функции open_new_window() не нужно вызывать child.window.put_dig(). Так как в данном слуае вызов функции происходит до загрузки документа index_2_2.html



Согласен, это я так поспешил) для проверки вставил и забыл удалить... Вот как мне обращаться из другой функции к child?

285
25 сентября 2009 года
Romik
479 / / 24.11.2002
Почитайте книгу по javascript, Вам будет проще решать подобные задачи.
[highlight=javascript]
var child; // здесь объявлена глобальная переменная
function open_new_window()
{
// значение присваивается глобальной переменной
child=window.open("index_2_2.html", "map");
}

function send_quary()
{
// если child не пуст, обращаемся к нему как к объекту
// это очень примитивная проверка, желательно бы проверить ещё и тип
if(child) {
// тут идёт нужный Вам вызов посредством инициализированной глобальной переменной
child.window.put_dig("222222");
}
}
[/highlight]
13K
25 сентября 2009 года
NoHlp
6 / / 06.11.2005
Цитата: Romik
Почитайте книгу по javascript, Вам будет проще решать подобные задачи.



Спасибо за совет и тветы, оказывается проблема в другом была.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог