Elemento de acceso dentro del iframe que está dentro del cuadro de diálogo jQuery UI

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.

preguntado el 12 de junio de 12 a las 18:06

1 Respuestas

$("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

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

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.