Tengo un iframe dentro de mi página principal. Hay una variante modal dentro de la página iframe. Entonces, cuando se muestra el modalpopup, el padre del modalpopup es el cuerpo del iframe y el cuerpo principal de la página principal. Por lo tanto, la superposición solo cubre el iframe y no toda la página.Mover ModalPopup fuera del IFrame. ¿Posible?
Intenté mover el modalpopup del iframe al elemento principal del cuerpo de Windows (o cualquier otro elemento dentro del cuerpo de los padres) usando jQuery. Recibo un error de argumento no válido.
¿Cómo se muestra un modalpopup desde una página dentro de iframe y debe abarcar todo el documento, también el documento principal?
Actualización:
Dado que pocos usuarios están interesados en lograr el mismo comportamiento .. aquí está la solución
La mejor solución que yo sugeriría sería tener la ModalPopup en la página principal. . e invocarla desde el iframe .. decir algo como esto ..
/* 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
}
Espero que ayuda
Evitar el marco flotante !!! – waqasahmed
Si va a incluir una solución, publíquela como una respuesta en lugar de como una actualización de la pregunta. Es menos confuso de esa manera y ayuda a otros a centrarse en la pregunta que podría tener una mejor respuesta. – mason