У меня есть iframe внутри моей главной страницы. На странице iframe есть модальный адрес. Поэтому, когда показан modalpopup, родителем modalpopup является тело iframe и родительское тело главной страницы. Таким образом, наложение охватывает только iframe, а не всю страницу.
Я попытался переместить modalpopup из iframe в элемент body родительского окна (или любой другой элемент внутри тела родителей) с помощью 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
}
Надеюсь, что это поможет