Перемещение ModalPopup вне IFrame. Возможный?

У меня есть iframe в моей основной странице. В iframe странице существует modalpopup. Таким образом, когда 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
}

Надежда это помогает

17
задан Zuhaib 6 February 2010 в 14:58
поделиться