Foros del Web » Programando para Internet » Javascript »

altura automatica en iframe

Estas en el tema de altura automatica en iframe en el foro de Javascript en Foros del Web. Hola amig@s!!...el caso es que tengo una web con tablas y en el centro un iframe en el que se van cargando las distinas secciones. ...
  #1 (permalink)  
Antiguo 20/04/2004, 14:29
 
Fecha de Ingreso: febrero-2002
Ubicación: Asturias
Mensajes: 48
Antigüedad: 23 años
Puntos: 0
altura automatica en iframe

Hola amig@s!!...el caso es que tengo una web con tablas y en el centro un iframe en el que se van cargando las distinas secciones. La anchura de este iframe es siempre la misma, es fija, el problema es que la altura de las distintas webs que se cargan son distintas...
Alguien sabe de alguna forma para que coja la altura automática y el iframe se ajuste a esta??

Nota: Ya lei un post de este foro que trataba un tema similar pero este actuaba sobre altura y anchura....pero no funciona



Nada mas gracias de antemano
  #2 (permalink)  
Antiguo 20/04/2004, 15:03
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 11 meses
Puntos: 1284
Hola atajero:

El tema que comentas ¿es éste: http://www.forosdelweb.com/showthrea...hreadid=188041 ?...

Si es así, te has fijado si existe algún error

Si esas páginas no pertenecen a tu dominio, es posible que sea una cuastión de seguridad, y por tanto sin solución (creo)

Saludos
  #3 (permalink)  
Antiguo 20/04/2004, 16:01
 
Fecha de Ingreso: febrero-2002
Ubicación: Asturias
Mensajes: 48
Antigüedad: 23 años
Puntos: 0
Hola caricatos y gracias por contestar...
...El post que me pones es el que comentaba que no me iba bien.
En mi web he colocado lo siguiente:

<head>
<script type="text/javascript">
function ajustar() {
document.getElementById("prueba").style.height = window.frames.prueba.document.body.style.
height;
}
function ini() {
document.getElementById("prueba").height = document.frames.prueba.document.body.offsetHeight + document.frames.prueba.document.body.scrollHeight;
}
</script>
</head>

y en el body: <iframe id="prueba" name="prueba" src="loquesea.html" with="480" onload="ini()"></iframe>

Como podras ver he eliminado en el script el tema del ancho ya que siempre tiene que ser de 480 pix como pongo en iframe...
El caso es que funciona bien....pero la web cambia de aspecto, cosa que no quiero...me explico...

Tengo una tabla en la que las columnas hacen las veces de frames....tengo unos links arriba otros a la izquierda y otros a la derecha....en la columna central tengo el iframe y voy cargando los diferentes links en su interior....como los diferentes links tienen todos una anchura de 480 pues no hay problema...el problema es su altura....por eso hago esto...
El caso es que como decia el codigo va bien....el problema es que segun sea la altura de la pagina que cargo la columna que tengo de links de la izquierda (y solo esta) se va desplazando arriba y abajo, en vez de quedarse fija arriba del todo como deberia de estar...ese es el problema que tengo....

Nada mas y gracias por contestar...
  #4 (permalink)  
Antiguo 21/04/2004, 15:28
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 11 meses
Puntos: 1284
Hola otra vez:

Entonces creo que tu problema está en algún estilo o atributo de la columna que te "falla"... me parece que hay un atributo valign en los elementos de las tablas que supongo que con valign=top tendría que quedar bien.

En w3.org puedes encontrar la lista de elementos con sus atributos.

También puedes ver el Inspector DOM que hice hace unos meses, y que se ven los atributos de cada elemento...

El enlace es: http://www.pepemolina.com/DOM/index.html

Saludos
  #5 (permalink)  
Antiguo 21/04/2004, 17:56
 
Fecha de Ingreso: febrero-2002
Ubicación: Asturias
Mensajes: 48
Antigüedad: 23 años
Puntos: 0
Hola caricatos!!....y gracias por responder...he puesto lo de valing y parece que va bien, excepto por un par de cosas...
...La primera es que ahora no se me carga en el iframe el src que tengo puesto (portada.html)...
....Y la segunda...es que creo que hace falta actualizar la variable cada vez que hago un click, pero no se como se hace,,,,y digo esto porque, efectivamente....abro la web y hago click en un enlace y el iframe se ajusta a esa web, vuelvo a hacer click en otro link y tambies se ajusta (se extiende porque esta es mas grande)....sin embargo cuando hago click en otro link cuya web es mas corta el iframe se queda con el tamaño de la web de aspecto mas largo que se halla cargado...por eso digo lo de actualizar variable.....
EL codigo que tengo puesto es el siguiente...

<head>
<script type="text/javascript">
function ajustar() {
document.getElementById("prueba").style.height = window.frames.prueba.document.body.style.
height;
}
function ini() {
document.getElementById("prueba").height = document.frames.prueba.document.body.offsetHeight + document.frames.prueba.document.body.scrollHeight;
}
</script>
</head>

y en el body: <iframe id="prueba" name="prueba" src="portada.html" with="480" onload="ini()"></iframe>

y en todos los links tengo puesto el target="prueba" para que se carguen en el iframe
  #6 (permalink)  
Antiguo 23/04/2004, 15:56
 
Fecha de Ingreso: febrero-2002
Ubicación: Asturias
Mensajes: 48
Antigüedad: 23 años
Puntos: 0
alguien sabe como actualizar la funcion con cada click en los diferentes links??
  #7 (permalink)  
Antiguo 23/04/2004, 16:57
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 11 meses
Puntos: 1284
Hola otra vez:

Es posible que el body de las páginas que quieres cargar no tenga definido el estilo height, por eso es conveniente usar offsetHeight. (en la función ajustar)

Se supone que no es necesario ajustar ninguna variable, ya que al usar el evnto onload se tendría que reajustar al cargarse vada nueva página (me parece que en opera no funciona, pero cuando veas que va bien, te podría ayudarte a adaptarlo a opera )

Saludos
  #8 (permalink)  
Antiguo 07/01/2009, 16:28
 
Fecha de Ingreso: enero-2009
Mensajes: 1
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: altura automatica en iframe

Cita:
Iniciado por atajero Ver Mensaje
alguien sabe como actualizar la funcion con cada click en los diferentes links??
Hola,
A mi me funciona perfecto con esta función:
----------------------------------
var intento;
function ajustar(){
if(document.getElementById('contenido').height>10) {clearTimeout(intento);return;}
document.getElementById('contenido').height=docume nt.getElementById('contenido').contentWindow.docum ent.body.scrollHeight;
intento=setTimeout('ajustar()',500);
}
-----------------------------------
y luego:
-----------------------------------
<iframe name="contenido" onload="ajustar()" src="home.htm" width="900" frameborder="0" scrolling="no">
-----------------------------------
Pero tengo el problema que solo funciona al actualizar la página y necesito que se ejecute cada vez que carga un htm distinto el iframe (contenido)
Desde los botones carga html's en el iframe contenido y necesito que ahi ejecute la función y redimensione el iframe ese.

Gracias, super buenas las opiniones.
Bruno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 20:07.