Инициировать события в родительском окне iframe - PullRequest
21 голосов
/ 05 января 2011

Почему не работает следующее:

//iframe:
window.parent.$(document).trigger('complete');

//parent window:
$(document).bind('complete', function(){
  alert('Complete');
});

пока работает следующее:

//iframe:
window.parent.$('body').trigger('complete');

//parent window:
$('body').bind('complete', function(){
  alert('Complete');
});

Ответы [ 3 ]

41 голосов
/ 05 января 2011

Как отслеживаются события, вы можете инициировать или получать события только для одного и того же документа.

11 голосов
/ 05 января 2011

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

// In Parent
function triggerComplete () {
  $(document).trigger('complete');
}

// In iFrame
window.parent.triggerComplete();
0 голосов
/ 31 января 2011

Проверьте это решение, это очень сложно:

top.frames['frame_name'].document.getElementById('Processing').style.display = 'none'; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...