0

我已经有一个使用 iframe 创建弹出窗口的 JQuery 函数。一个新要求说我需要创建另一个从第一个弹出窗口触发的弹出窗口,但 iframe 不允许我创建另一个弹出窗口。无论如何,我可以使用主页作为父页面而不是 iframe 创建弹出窗口吗?如果您有更好的建议,请告诉我。谢谢

代码:

function GetPopUp ("../folder/file.htm", "POPUP Title")
 {
   var xpos = mouse_x;
   var ypos = mouse_y;
   var windowID = $(href.split('/')).last()[0].split('.')[0];
   var $dialog = $("#" + windowID)

   var dimensions = GetPopUpDimensions(windowID);

   $('body').after('<iframe id="' + windowID + '" style="padding:0;" src="' + href +  '">  </iframe>');
   $dialog = $("#" + windowID)
   $dialog.dialog(
   {
    autoOpen: false,
    title: title,
    position: 'center',
    sticky: false,
    width: dimensions.DialogWidth,
    height: dimensions.DialogHeight,
    draggable: true,
    resizable: false,
    modal: true,
    close: function () {
        $(this).dialog('destroy');
        $("#" + windowID).remove();
    }
});
$dialog.load(function () {
    $dialog.dialog('open');
    $dialog.css("width", "100%"); // reset the width that is set by jquery UI
});

}

htm 文件有一个可点击的链接,预计会触发另一个弹出窗口

4

2 回答 2

0

弹出窗口不会自动应用到 IFrame 窗口的顶部,因此我们可以通过 Parent.function_name() 轻松应用它;
function_name() => 这个函数定义在 IFrame 窗口的顶部。您可以在下面的链接中看到完整的演示

点击这里进行演示

于 2015-04-15T12:24:45.203 回答
0

如果代码在 iframe 内执行,您可以在 DOM 选择器前加上:

window.parent.
于 2013-10-08T23:28:16.460 回答