У меня уже есть функция JQuery, которая создает всплывающее окно с использованием iframe. Новые требования говорят, что мне нужно создать другое всплывающее окно, вызванное первым всплывающим окном, но 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 имеет ссылку с возможностью клика, которая, как ожидается, вызовет другое всплывающее окно
Если код выполняется внутри iframe, вы можете префикс своего DOM-селектора с помощью:
window.parent.
Всплывающее окно не будет применяться к окну IFrame автоматически, поэтому мы сможем легко применить его через Parent.function_name();
function_name() => эта функция определяется верхней частью окна IFrame. Вы можете увидеть полное демо по ссылке ниже