вызвать событие JavaScript изнутри iFrame - PullRequest
0 голосов
/ 30 ноября 2011

Я не уверен, возможно ли это, но у меня есть небольшое веб-приложение, которое отвечает за загрузку файлов на сервер. Это приложение используется другим приложением, которое включает его в iFrame.

Приложение загрузки использует форму jQuery для отправки файла в фоновом режиме, и я хотел бы иметь возможность уведомить родительское приложение о завершении загрузки и срабатывании обратного вызова.

Я думал о том, чтобы как-то передать функцию в приложение iFrame, которую можно было бы вызвать из родительского объекта, но я не уверен, как это сделать, или если это вообще возможно.

Ответы [ 3 ]

1 голос
/ 30 ноября 2011

Если оба приложения размещены в одном домене, выполнить это тривиально.

Для вызова функции в родительском окне из iframe:

parent.myFunction();

Для вызова функции вiframe из родительского окна:

document.myFrameName.myFunction();

(для этого необходимо, чтобы в iframe был установлен атрибут name).

Если приложения находятся в разных доменах, вам придетсясовершите еще большую хакерскую попытку для достижения этой цели.

1 голос
/ 30 ноября 2011

Вы можете позвонить parent.functionname. Или вы можете попробовать событие IFrame, onLoad для вызова с родительской страницы.

0 голосов
/ 30 ноября 2011

Я не уверен, каков правильный способ сделать это, но вы можете написать что-то вроде document.callback = function() { ... } в родительском фрейме и parent.document.callback() в фрейме.

Конечно, ваши страницы в родительском фрейме / iframe должны принадлежать одному домену, иначе браузер заблокирует любое взаимодействие между ними.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...