Obtención de la altura del contenido de iframe mientras iframe aloja un sitio web EXTERNO a cuyo código NO se puede acceder

Posible duplicado:
para ajustar iframe a su altura de contenido

Como se describe en el título de la pregunta. Estoy buscando una manera de ajustar la altura de mi iframe de acuerdo con la altura del sitio web que está alojando mi iframe. Porque necesito deshacerme del scroll vertical de mi iframe. Y al mismo tiempo, no quiero establecer una altura estática muy grande para mi iframe, ya que esto no es bueno cuando tengo páginas con alturas pequeñas.

He encontrado muchas soluciones relacionadas con mi problema, pero no puedo resolverlo:

(*) Cambiar la altura del iframe mientras está alojado en una página interna es fácil. Simplemente agregue el siguiente script a su evento iframe onload:

var frame = (document.getElementById) ? document.getElementById("YourFrameID") : document.all["YourFrameID"]; var pageh = document.frames("YourFrameID").document.body.scrollHeight; frame.style.height = pageh + 'px'; 

Pero como sabrías, cuando el src del iframe está fuera del dominio que tiene el iframe. el script se bloquea y produce un mensaje de error “Acceso denegado”.

(*) Finalmente, sé que mi objective se puede lograr si tengo acceso a las páginas que mi iframe está hospedando. Quizás la técnica se llama “Comunicación de dominio cruzado”.

SIN EMBARGO, mi iframe apunta a alojar páginas de sitios web EXTERNOS, y NO hay acceso a esos sitios web.

Esta pregunta ha sido formulada muchas veces. Vamos a deshacernos de este problema proporcionando una respuesta final 🙂

O … digamos que alcanzar mi objective específico no es aplicable.

Tenga en cuenta que uso ASP.NET 4.0

Gracias,

Simplemente no es posible debido a las razones de seguridad entre dominios.

Podrías usar la técnica del hombre en el medio. En lugar de apuntar el iframe directamente al objective deseado, apúntelo a una página en su servidor que:

  1. Recupera la URL solicitada e inyecta el script.

  2. Vuelve a escribir las imágenes y otros recursos que tienen direcciones URL relativas para usar direcciones URL absolutas que apuntan a la fuente.

Esto es desordenado y propenso a errores.

Alternativamente, si tiene algún tipo de renderizador HTML en el servidor, puede recuperar el documento, analizarlo y consultar la altura. Esto es desordenado, lento, propenso a errores y no compatible con todos los navegadores.

Creo que la respuesta real que está buscando es, no, no hay una manera confiable de lograr este efecto sin la cooperación del recurso de dominio cruzado.