Вызов функции JavaScript в iframe из window.opener - PullRequest
0 голосов
/ 20 февраля 2012

У меня есть функция в iFrame (тот же домен), которую я хочу вызвать из всплывающего окна.

Так что в основном я хочу сделать что-то вроде window.opener.document.getElementById ('topFrame').contentWindow.setActive ('1');

В window.opener всплывающего окна у меня есть iframe с идентификатором "topFrame" (и именем "topFrame" в случае, если это лучшее решение), в которомФункция setActive ('1') должна быть выполнена.Однако приведенный выше код не работает, и Google на самом деле не помогает в поиске решений для этого конкретного случая.

У кого-нибудь есть идеи?

Thx

Ответы [ 2 ]

0 голосов
/ 14 марта 2013

если вы открываете всплывающее окно из окна iframe, тогда вы должны использовать

window.opener.setActive('1');

потому что window.opener сам вернет вам окно iframe. Возможно, дело в том, что я тоже допустил эту ошибку. надеюсь, что ваша проблема решена:)

0 голосов
/ 20 февраля 2012

Ваша строка должна действительно работать, и проблема, вероятно, связана с синхронизацией: скорее всего, ваш iframe не завершил загрузку в то время, когда вы пытаетесь вызвать его функцию. Выполнение вызова после load или DomReady должно помочь.

(Вы также можете поэкспериментировать, завернув вызов в тайм-аут и посмотреть, сработает ли он на более позднем этапе).

...