JQuery как закрыть диалог из iframe в диалоговом окне?

Если я открою диалоговое окно так:

$('<iframe id="externalSite" class="externalSite" src="http://www.example.com" />').dialog({
        autoOpen: true,
        width: 800,
        height: 500,
        modal: true,
        resizable: true
    })

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

Ответы

Ответ 1

ОК, поэтому я помещаю iframe на страницу с установленным на дисплее значением none. Я открываю его так:

$('#externalSite').dialog({ ... });

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

function closeIframe()
{
    $('#externalSite').dialog('close');
    return false;
}

Внутри iframe я вызываю:

window.parent.closeIframe();

Ответ 2

Просто назови следующие работы для меня:

window.parent $( '# externalSite') диалог ( 'закрыть');..

Ответ 3

Вы пробовали это?:

$(window.parent).dialog('close');

Я никогда не использовал диалог jQuery UI, поэтому я не уверен, что это действительно сработает. Мне кажется, что вам нужно будет поддерживать ссылку на созданный диалог, чтобы вы могли использовать его для закрытия диалога.

Примечание. Вы также можете искать элементы в родительском DOM:

$('#someParentDOMElement' , window.parent);

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