Author |
Message |
hurt
Guest
Карма: 388 поощрить/наказать
|
Posted: Thu Jul 01, 2010 2:11 pm (написано за 2 минуты 20 секунд)
Post subject: Передача данных из родительского окна, в дочернее
|
|
доброго времени суток возник такой вопрос унас есть родетиельское окно функцией window.open открываем дочернее из этого дочернего окна можено обратиься к родительскому функцией opener и скажем вызвать функцию это прекрасно но как можно из родителського окна пердать информацию в дочернее окно когда оно уже открыто скажем у меня есть поле в которое я вбиваю текст как его передать в дочернее окно если такое возможно? заранее спасибо
|
|
Back to top |
|
 |
Александр Михалицын
Модератор
Joined: 23 May 2008
Posts: 1299
Карма: 83 поощрить/наказать
|
Posted: Thu Jul 01, 2010 2:33 pm (спустя 21 минуту; написано за 32 секунды)
Post subject:
|
|
hurt, в поиск. А вообще - метод window.open возвращает ссылку на объект открываемого окна.
|
|
Back to top |
|
 |
hurt
Guest
Карма: 388 поощрить/наказать
|
Posted: Thu Jul 01, 2010 2:46 pm (спустя 13 минут; написано за 1 минуту 2 секунды)
Post subject:
|
|
Александр Михалицын
это понятно и можно перадть парметр в форму но окно открываеться новое может как то можно имя второго окна указать для этой фнкции что бы она в открытое загрузила?
|
|
Back to top |
|
 |
Александр Михалицын
Модератор
Joined: 23 May 2008
Posts: 1299
Карма: 83 поощрить/наказать
|
Posted: Thu Jul 01, 2010 3:20 pm (спустя 33 минуты; написано за 1 минуту 37 секунд)
Post subject:
|
|
Можно. Но лично я не уверен в кроссбраузерности. Лучше, все же откажитесь от этого подхода. UPD: если бы вы сразу назвали тему верно, то нашли бы: forum.dklab.ru/viewtopic.php?t=23075 попробуйте то решение, оно не на 100 процентов в тему, НО там используется как раз тот подход, что вам нужен - попробуйте разобраться. (-; Ради спортивного интереса так сказать...
|
|
Back to top |
|
 |
hurt
Guest
Карма: 388 поощрить/наказать
|
Posted: Thu Jul 01, 2010 6:40 pm (спустя 3 часа 20 минут; написано за 1 минуту 29 секунд)
Post subject:
|
|
угу более менее ясно наверно))) а вызов функции или просто код подоюный такому var w = open('', '', 'height=100,width=300'); w.document.writeln('<' + 'script>var ctrl = null;<' + '/script>' + '<input type="button" value="call parent method" onclick="ctrl.change()" />'); в google и опере вообще не работает?
|
|
Back to top |
|
 |
dimagolov
Участник форума
Joined: 04 Feb 2007
Posts: 1664
Карма: 96 поощрить/наказать
Location: Christ Church, Barbados
|
Posted: Thu Jul 01, 2010 7:08 pm (спустя 27 минут; написано за 1 минуту 13 секунд)
Post subject:
|
|
hurt wrote: |
в google и опере вообще не работает? | а должен? там вообще бред, в начале переменной ctrl присваивается null, а потом при нажатии кнопки вызывается ctrl.change(), который непонятно откуда должен взяться.
|
|
Back to top |
|
 |
hurt
Guest
Карма: 388 поощрить/наказать
|
Posted: Thu Jul 01, 2010 7:12 pm (спустя 4 минуты; написано за 2 минуты 14 секунд)
Post subject:
|
|
дрындец теперь я вообще запутался давай те так скажу мне нужно открыть окно вовсех браузерах на автомате как это лучше сделать в ie и мозиле все открыв номрально в google и опере тупит пробывал через функцию и последующий вызов к примеру функция фис(){} abc(); не хочет ак можно сделать
|
|
Back to top |
|
 |
hurt
Guest
Карма: 388 поощрить/наказать
|
Posted: Thu Jul 01, 2010 7:19 pm (спустя 6 минут; написано за 1 минуту 21 секунду)
Post subject:
|
|
не то написал к примеру вот так Window.open(данные)- не открывает function abc(){ Window.open(данные); } abc() --то же не открывает как быть нужно вызвать окно
|
|
Back to top |
|
 |
bæv
Модератор «Дзена»

Joined: 27 Aug 2003
Posts: 7275
Карма: 9989 поощрить/наказать
|
Posted: Thu Jul 01, 2010 7:30 pm (спустя 11 минут; написано за 3 минуты 24 секунды)
Post subject:
|
|
 ! |
| hurt, forum.dklab.ru/about/todo/PravilaEtogoForuma-ProchitayteObyazatelno.html — получаете предупреждение за пренебрежительное отношение к участникам форума. Текст, написанный с ошибками и без знаков препинания, очень сложен для восприятия. Для вставки кода здесь есть специальная кнопка. |
|
|
Back to top |
|
 |
Александр Михалицын
Модератор
Joined: 23 May 2008
Posts: 1299
Карма: 83 поощрить/наказать
|
Posted: Fri Jul 02, 2010 9:33 am (спустя 14 часов 2 минуты; написано за 48 секунд)
Post subject:
|
|
dimagolov, не совсем бред, это изврат, зато рабочий. Проверил. Зато традиционные подходы не работают.... Может быть вы можете предложить что-то более лаконичное и рабочее? Буду рад увидеть.
|
|
Back to top |
|
 |
Александр Михалицын
Модератор
Joined: 23 May 2008
Posts: 1299
Карма: 83 поощрить/наказать
|
Posted: Fri Jul 02, 2010 9:35 am (спустя 2 минуты; написано за 1 минуту 48 секунд)
Post subject:
|
|
hurt, не работает потому что вы еще одну глубокомысленную строку упустили, а именно - задать созданной переменной значение... К сожалению, если сразу объекту окна присвоить свойство - ничего не работает, для того и используется такой изврат, с созданием переменной, а уже затем присваивается значение. И потом - я же сказал, вы концепцию на вооружение возьмите, а не весь код. -) Совсем, однако, народ думать не хочет...
|
|
Back to top |
|
 |
Александр Михалицын
Модератор
Joined: 23 May 2008
Posts: 1299
Карма: 83 поощрить/наказать
|
Posted: Fri Jul 02, 2010 10:04 am (спустя 28 минут; написано за 5 минут 43 секунды)
Post subject:
|
|
Так, потестил еще, вношу уточнения: как известно, document.write, на этапе когда страница отрендерина, очищает вывод и заменяет его своим, поэтому в купе с ним, бессмысленно подгружать в методе open какой-либо файл. => нужно формировать html код окна скриптом, и выводить через w.document.write. Тогда все будет работать. Вот коротенький пример передачи переменной: Code (html): | скопировать код в буфер обмена | <input (december.com/html/4/element/input.html) type="button" value="call child" onclick="show()" /> (december.com/html/4/element/.html) <script> (december.com/html/4/element/script.html) var show = function() { var w = open('', '', 'height=100,width=300'); w.document.writeln('< (december.com/html/4/element/.html)' + 'script>var ctrl = null;setTimeout(function() { alert(ctrl); }, 1000);< (december.com/html/4/element/.html)' + '/script>'); w.ctrl = 'test'; } </script> | Рассмотрим его, во-первых, мне пришлось сделать именно кнопку, с обработчиком, который создает окно, потому что, например Опера, со своим popup блокером, когда код находится в глоб. контексте, или запускается по таймеру, блокирует всплывающее окно, а JS интерпретатор ругается на якобы отсутствие объекта document у окна - ничего не работает. во-вторых, как видите, код вывода переменной в окне, запускается по таймеру (возможно следует установить меньшее время, сейчас там 1 с.), это сделано потому, что значение переменной присваивается уже после запуска скрипта в окне, следовательно, если написать алерт сразу - будет null. Как видите - не кроссбраузерно это все, и не красиво абсолютно. Сплошной изврат.
|
|
Back to top |
|
 |
Александр Михалицын
Модератор
Joined: 23 May 2008
Posts: 1299
Карма: 83 поощрить/наказать
|
Posted: Fri Jul 02, 2010 1:17 pm (спустя 3 часа 12 минут; написано за 12 секунд)
Post subject:
|
|
 М |
| Баллов добавил обоим темам - пусть повыше будут. |
|
|
Back to top |
|
 |
Александр Михалицын
Модератор
Joined: 23 May 2008
Posts: 1299
Карма: 83 поощрить/наказать
|
Posted: Thu Jul 08, 2010 12:40 pm (спустя 5 дней 23 часа 23 минуты)
Post subject:
|
|
 М |
| Ветка выделена в отдельную тему «Спам», расположенную в форуме Мусоропровод (08 Июля 2010, 15:40). |
|
|
Back to top |
|
 |
|