javascript - close - Diálogo JQuery UI dentro de un iframe
jquery dialog close (2)
De acuerdo, entonces encontré la solución. Al declarar mi diálogo, hice lo siguiente:
$("selector").dialog({
position: {my: "center", at: "center", of: window.top}
});
Estoy desarrollando una aplicación sp2013, lo que significa que está usando iframes. Específicamente, es un iframe muy grande que ocupa la mayor parte de la pantalla. En muchos puntos, estoy abriendo jquery ui ventanas de diálogo. Aparecen para aparecer en el medio de la ventana gráfica, lo que es genial, excepto que aparece en el medio del iframe, en lugar de en el medio de la pantalla visible.
¿Hay alguna manera de decirle a jquery ui que mire las propiedades de desplazamiento de window.top, en lugar de los iframes?
Editar: El iframe y el padre están en el mismo dominio, por lo que los problemas entre dominios no son un problema.
HTML:
<div id="dialog">Hello, world!</div>
jQuery:
alert(''Window size: ''+window.innerWidth);
var dialogWidth = 500;
var dialogHeight = 200;
var dialogX = (window.innerWidth - dialogWidth)/2;
var dialogY = (window.innerHeight - dialogHeight)/2;
$("#dialog").dialog({ position: [dialogX,dialogY], width: dialogWidth, height: dialogHeight }, 500);
alert(''Dialog position: ''+$("#dialog").dialog( "option", "position" ));
Fiddle: http://jsfiddle.net/3vjsa/3/
Corre dentro de iframe. Centrado horizontal y verticalmente. Si la posición centrada de la ventana queda fuera del iframe, se moverá al borde del iframe. Mensajes de alerta agregados para mostrar el ancho de la ventana y la posición del diálogo.