如果我打开一个这样的对话框:
$('<iframe id="externalSite" class="externalSite" src="http://www.example.com" />').dialog({
autoOpen: true,
width: 800,
height: 500,
modal: true,
resizable: true
})
如何使用iframe关闭对话框?
答案 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。