2011-08-24 62 views
6

Quiero mostrar el contenido de una página en mi sitio web usando un iframe, pero quiero "cortar" la parte del encabezado (superior) de la página, omitiendo su barra de navegación, el usuario solo puede ver lo que está debajo de él.Eliminando parte del contenido src del iframe

Código:

<div id="content"> 
    <div style="height:800px;"> 
     <iframe id="optomaFeed" src="http://www.optomausa.com/company/press-releases/" scrolling="auto" 
      frameborder="0" height="100%" width="100%"></iframe> 
    </div> 
</div> 

¿Cuáles son algunas maneras en que puedo ir haciendo esto? Tyvm ~

+0

http://stackoverflow.com/questions/5676672/how-do-i-crop-the-contents-of-an- iframe-to-show-a-part-of-a-page Es la respuesta que esperaba – pashute

Respuesta

13

me di cuenta de cómo hacerlo usando css clip atributo:

<div id="content"> 
    <div style="height:800px;"> 
     <iframe id="optomaFeed" src="http://www.optomausa.com/company/press-releases/" scrolling="no" 
      frameborder="0" height="100%" width="100%" style="position:absolute; clip:rect(190px,1100px,800px,250px); 
      top:-160px; left:-160px;"></iframe> 
    </div> 
</div> 
+1

Esto parece funcionar muy bien para la parte superior e inferior de la página, pero no se amplía cuando cambio el tamaño de la ventana del navegador ... (Le estoy probando en IE8 para poder ver qué más del 70% el mundo verá) – DaveRandom

+0

Por supuesto, no he intentado cambiar el tamaño de la ventana, y lo estoy haciendo en FF en este momento ... No se muestra correctamente en IE, así que tengo que hacer algunos ajustes. En el camino correcto sin embargo :) Gracias por su entrada –

+0

¿Qué significa clip que la parte superior negativa no? – httpete

0

Si el contenedor de la barra de navegación tiene un id, puede obtener una referencia en javascript y luego llamar al parentNode.removeChild(). Esto significaría que la barra de navegación probablemente parpadeará por un segundo cada vez que se cambie la página dentro del iframe.

Alternativamente, puede pasar la carga del iframe a través de un script del lado del servidor que lo carga, elimina el código HTML de la barra de navegación y luego muestra el resultado. Esto probablemente ralentizaría la interacción del usuario con la página, ya que significaría que todo lo que efectivamente se requiere es cargar dos veces. Si va a tomar este enfoque, probablemente necesite agregar una etiqueta <base> para no romper el CSS/JS.

+0

Estoy intentando sugerir primero atm. Esperaba una solución más simple. Algo así como recortar el propio iframe usando divs y styles o algo –

+0

@Shredder No puedo pensar en ninguna forma práctica de hacerlo sin barras de desplazamiento que garanticen que la página está en la posición correcta dentro del marco que no puede ver el nav pero puede ver el contenido que desea. Acabo de probar la primera idea y no funciona porque el navegador deshabilita el acceso a 'contentWindow.document' cuando la página en el iframe no se cargó desde su dominio. No hay trabajo alrededor que pueda pensar/encontrar. La única opción es un script proxy, creo ... – DaveRandom

+1

Lo descubrí <_ <; compruebe mi respuesta –

Cuestiones relacionadas