iframe外的对话框

时间:2014-04-10 21:43:42

标签: javascript jquery html iframe

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。,但它不起作用。

1 个答案:

答案 0 :(得分:0)

你做不到。或者不应该。

你不能这样做,因为iframe是一个窗口上下文,理论上它不应该知道它的父级(即使在实践中也是如此)。

  1. 如果在独立窗口中打开iframe的内容会发生什么? 如果这是一个简单的操作,例如:“我不需要这个工作流程”,那么不要使用iframe,你不需要它。

  2. 父和iframe在同一个域中吗?如果答案是否定的,你就做不到。

  3. 如果您在任何情况下都需要它,并且它们都在同一个域中,并且您不能在不使用iframe的情况下实现它...

    • 在父窗口window.showDialog = function (){}
    • 中编写对话框的代码
    • 使用top.showDialog()parent.showDialog()
    • 来调用此代码
    大多数与大多数父窗口相关的浏览器中的

    top ... 如果您的父母也将在iframe中展示,top将会被破坏...最好使用parent代替......