2016-05-08 16 views
1

У меня есть окно, которое я создаю через window.open. В этом окне отображается форма. Когда форма отправлена, пользователь переходит на новую страницу: success.html. Как я могу инициировать событие после загрузки success.html? Я пробовал следующие:Как вызвать событие при изменении окна?

var myWindow = window.open("http://theform.com", "THE_NAME", 
    "menubar=no,location=no,resizable=no,scrollbars=no,status=no,width=500,height=463"); 
myWindow.addEventListener("load", (event) => { 
    console.log("Window event" + myWindow.location.href); 
}, false); 

Событий не было.

ответ

1

Что вы можете сделать, это postMessage между окнами, если они имеют одинаковое происхождение.

Подробнее: SecurityError: Blocked a frame with origin from accessing a cross-origin frame (следовать по ссылке, даже если его об IFrames/кадрах)

+0

'postMessage' работает независимо от происхождения. Окна должны иметь тот же домен, задав свойство 'document.domain'. – Max

+0

Я знаю, что это работает независимо от происхождения. Но это не будет работать, если нет кода для прослушивания и ответа. То, что я имел в виду по происхождению, было: вы являетесь тем, кто их называет. (их происхождение) – aifrim

0

Попробуйте разместить прослушиватель событий в файле success.html вместо того, где вы делаете это прямо сейчас.

+0

Но мне нужно функция, которая будет выполняться, когда создается окно. – Max

+0

На мой взгляд, это невозможно. Может быть, другие могут помочь вам. –

Смежные вопросы