JavaScript对话框有点问题。 我有一个按钮和一个带有下一个代码的iframe对话框
$( "#correcto" ).dialog({
width: 600,
closeOnEscape: true,
autoOpen: false,
draggable: false,
modal: true,
show: {
effect: "blind",
duration: 200
},
hide: {
effect: "blind",
duration: 200
}
});
带有此代码的按钮:
$( "#comprobar" ).click(function() {
$( "#correcto" ).dialog( "open" );
});
代码有效,但打开iframe的对话框,叠加层和模态只显示/工作到iframe,看起来很奇怪。
我想知道是否有一些代码可以在iframe外面打开对话框。我找到了另一个类似问题的线程,我尝试初始化主页面(父级)中的对话框,并在按钮代码中使用 parent。,但它不起作用。
答案 0 :(得分:0)
你做不到。或者不应该。
你不能这样做,因为iframe是一个窗口上下文,理论上它不应该知道它的父级(即使在实践中也是如此)。
如果在独立窗口中打开iframe的内容会发生什么? 如果这是一个简单的操作,例如:“我不需要这个工作流程”,那么不要使用iframe,你不需要它。
父和iframe在同一个域中吗?如果答案是否定的,你就做不到。
如果您在任何情况下都需要它,并且它们都在同一个域中,并且您不能在不使用iframe的情况下实现它...
window.showDialog = function (){}
top.showDialog()
或parent.showDialog()
top
...
如果您的父母也将在iframe中展示,top
将会被破坏...最好使用parent
代替......