jQuery如何在对话框中关闭iframe对话框?

时间:2010-08-26 14:12:01

标签: javascript jquery jquery-ui iframe dialog

如果我打开一个这样的对话框:

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

如何使用iframe关闭对话框?

3 个答案:

答案 0 :(得分:24)

好的,所以我把iframe放在页面上,显示设置为none。我这样打开它:

$('#externalSite').dialog({ ... });
主父窗口上的

我有这样的函数:

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

我在iframe中调用:

window.parent.closeIframe();

答案 1 :(得分:6)

简单地调用以下内容对我有用:

window.parent $( '#externalSite')对话框( '关闭');

答案 2 :(得分:0)

你试过这个吗?:

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

我从未使用过jQuery UI对话框,因此我不确定它是否真的有效。在我看来,您需要维护对您创建的对话框的引用,以便您可以使用它来关闭对话框。

注意,您还可以通过以下方式查找父级DOM中的元素:

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

当然,所有这一切都假设您在iframe内加载的网站与父文档位于同一个域中。如果没有,那么iframe中的文档根本无法访问父DOM。