У меня есть фрейм внутри моей главной страницы. Внутри страницы iframe есть модалпопуп. Таким образом, когда показывается modalpopup, родительским элементом modalpopup является тело iframe и родительское тело главной страницы. Таким образом, наложение охватывает только iframe, а не всю страницу.
Я попытался переместить modalpopup из iframe в элемент тела родительского окна (или любой другой элемент внутри тела родителя), используя jQuery. Я получаю неверный аргумент.
Как мне показать modalpopup со страницы внутри iframe, и оно должно охватывать весь документ, а также родительский документ?
Обновление:
Поскольку немногие пользователи заинтересованы в достижении такого же поведения ... вот обходной путь
Лучший обходной путь, который я бы предложил, - это установить modalpopup на главной странице ... и затем вызвать его из iframe .. сказать что-то вроде этого
/* function in the main(parent) page */
var _onMyModalPopupHide = null;
function pageLoad(){
// would be called by ScriptManager when page loads
// add the callback that will be called when the modalpopup is closed
$find('MyModalPopupBehaviorID').add_hidden(onMyModalPopupHide);
}
// will be invoked from the iframe to show the popup
function ShowMyModalPopup(callback) {
_onMyModalPopupHide = callback;
$find('MyModalPopupBehaviorID').show();
}
/* this function would be called when the modal popup is closed */
function onMyModalPopupHide(){
if (typeof(_onMyModalPopupHide) === "function") {
// fire the callback function
_onMyModalPopupHide.call(this);
}
}
/* functions in the page loaded in the iframe */
function ShowPopup(){
if(typeof(window.parent.ShowMyModalPopup) === "function") {
window.parent.ShowMyModalPopup.apply(this, [OnPopupClosed]);
}
}
// will be invoked from the parent page .. after the popup is closed
function OnPopupClosed(){
// do something after the modal popup is closed
}
Надеюсь, это поможет