Elemento de acceso dentro del iframe que está dentro del cuadro de diálogo jQuery UI
Frecuentes
Visto 3,125 veces
4
HTML es bastante simple, en mi página tengo
<div id="notificationDialog" title="View Notification"></div>
Cargo dinámicamente las notificaciones según el usuario que ve la página y las muestro dentro de un iframe, que está dentro de un cuadro de diálogo jQuery ui. Básicamente,
function viewNotif(nid) {
var wWidth = jQuery(window).width();
var dWidth = wWidth * 0.5;
var $notifIframe = jQuery('<iframe />', {
name: 'myFrame',
id: 'myFrame',
src: "/modals/modal_notification.php?nid="+nid,
width:"100%",
height:"100%",
align:"center",
scrolling:"auto",
frameborder:"0"
});
jQuery('#notificationDialog').html($notifIframe.clone());
jQuery('#notificationDialog').dialog({
autoOpen: false,
height: auto,
width: dWidth,
modal: true
});
jQuery('#notificationDialog').dialog('open');
}
Estoy tratando de acceder al valor de altura de un div que está dentro del iframe dentro del cuadro de diálogo jQuery ui, y hasta ahora no he podido hacerlo. ¿Cómo obtendría el valor de altura de un div, la identificación del div es notificación_contenedor que está dentro del iframe, dentro de notificaciónDialog?
EDITAR: debo mencionar que la función se llama en un onClick en la página y pasa el ID de notificación (nid) para mostrar, a la función.
1 Respuestas
3
$("iframe").contents().find("#selector");
Cabe señalar que esto solo está permitido si se accede localmente al contenido del iframe. De lo contrario obtendrá un error de acceso denegado.
Respondido el 12 de Septiembre de 13 a las 17:09
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas jquery jquery-ui jquery-ui-dialog or haz tu propia pregunta.
Esto me da este error Uncaught TypeError: Object # no tiene método 'contenido' - Mike
El iframe está en el mismo servidor que la página, pero en una carpeta diferente. ¿No es eso 'local'? - Mike
Sé que esta es una vieja pregunta, pero en caso de que alguien se tropiece con ella, la línea de arriba debería ser la siguiente:
$("iframe").contents().find("#selector");
(es decir, sin el [0]) - carlos blanco