postMessage из дочернего окна к родительскому

Тема в разделе "JavaScript", создана пользователем halfhope, 10 мар 2014.

  1. halfhope

    halfhope

    Регистрация:
    31 дек 2012
    Сообщения:
    284
    Симпатии:
    309
    Подскажите как реализовать postMessage от только что созданного (newwin = window.open('asdasdasd')) окна к тому из которого оно было создано?
     
  2. kama812

    kama812

    Регистрация:
    30 мар 2013
    Сообщения:
    311
    Симпатии:
    195
    http://davidwalsh.name/window-iframe ?
     
  3. halfhope

    halfhope

    Регистрация:
    31 дек 2012
    Сообщения:
    284
    Симпатии:
    309
    Получилось самому сделать. Iframe можно по ID найти.
    Объясню подробнее. Допустим, на странице настроек какого-нибудь шаблона пользователь выбирает "live-редактирование шаблона". С помощью функции window.open('asdasdasd') открывается новое окно, в котором это live-редактирование будет происходить. Пользователь в нем работает, изменяет, потом нажимает "Сохранить". Необходимо организовать обмен данными между этити окнами. Чтобы после нажатия кнопки "Сохранить" данные отправились в то окно, из которого открылось текущее (т.е. live-редактирование).
    Родительское окно (прием сообщения) (из которого с помощью функции window.open() открывается дочернее):
    Код:
    var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
        var eventer = window[eventMethod];
        var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";
        eventer(messageEvent,function(e) {
          alert('Принял сообщение:'+e.data);
        },false);
    
    Дочернее окно (отправитель):
    Код:
    window.opener.postMessage('Привет из дочернего окна', "адрес сайта");
    Индентефикатор окна, которое открыло текущее - window.opener
     
    HPlus и kama812 нравится это.
  4. mirc

    mirc

    Регистрация:
    29 мар 2014
    Сообщения:
    0
    Симпатии:
    0
    Подскажите как реализовать postMessage
     
  5. halfhope

    halfhope

    Регистрация:
    31 дек 2012
    Сообщения:
    284
    Симпатии:
    309
    HPlus нравится это.