Foros del Web » Programando para Internet » Javascript »

php dentro de un iframe... pregunta

Estas en el tema de php dentro de un iframe... pregunta en el foro de Javascript en Foros del Web. Hola. Tengo un libro de visitas en php que aparece dentro de un iframe en una página html. Es la manera sencilla que he encontrado ...
  #1 (permalink)  
Antiguo 02/04/2007, 15:05
 
Fecha de Ingreso: marzo-2007
Mensajes: 32
Antigüedad: 17 años, 1 mes
Puntos: 0
php dentro de un iframe... pregunta

Hola.

Tengo un libro de visitas en php que aparece dentro de un iframe en una página html. Es la manera sencilla que he encontrado de integrarlo en el aspecto de la web.
Todo va bien hasta aquí, porque la longitud del iframe se adapta al contenido.

El problema es que si empieza cargando una página larga, cuando carga después una más corta no se posiciona en la parte de arriba de la página y se ve el 'agujero' del iframe sin nada dentro.
Lo vereis muy claro viendo la página: (como no puedo poner urls os explico donde está: www_promotorasocial.net>español>libro de visitas)
si vais leyendo hasta el final y luego clicais para ver la página 2.

Esto se debe a que no se refresca la página htm que contiene el iframe.

Quisiera saber cuál es la solución. Creo que debe ser algún script que refresque la página principal cuando se carga un nuevo contenido en el frame, pero no logro que funcione a pesar de que he probado con varios scripts que he sacado de estos foros.

Gracias de antemano, saludos y enhorabuena por el foro.
  #2 (permalink)  
Antiguo 02/04/2007, 19:27
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: php dentro de un iframe... pregunta

al parecer su script solo te autoresiza se podria decir tu iframe cuando cargas la pagina segun los comentarios despues una ves navegas el iframe queda igual y solo tu paginador de datos navega a traves del iframe, a mi no se me ocurre como una manera aun :/ esta medio complicado pero se te a ocurrido ocupar ajax para ese caso ? te dejo una paginilla si cabe dentro de tus posibilidades :)

http://isiajax.sourceforge.net/demos...rios/index.php
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #3 (permalink)  
Antiguo 03/04/2007, 07:55
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años
Puntos: 5
Re: php dentro de un iframe... pregunta

pregunta: deseas que cuando cambies de página dentro de tu iframe, si el refreso dentro de este es menor o superior al tamaño de la página que automáticamente se re-dimensione, en este caso, el alto del iframe?

si es así, si se puede con javascript. solo dejame saber si es eso lo que buscas, de lo contrario, explicate un poco mejor y pon un ejemplo más claro, ya que intenté entrar al link que tienes allí pero no pasa nada.. ahh, and by the way.... no utilices espacios en tus carpetas ni "ñ" ni palabras que se acentúan

saludos
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #4 (permalink)  
Antiguo 03/04/2007, 08:26
 
Fecha de Ingreso: marzo-2007
Mensajes: 32
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: php dentro de un iframe... pregunta

A ver, lo intentaré explicar más claramente:
El iframe se re-dimensiona automáticamente al contenido que carga. (con un javascript).
Pero solo lo hace cuando se carga la página que lo contiene o cuando el contenido del iframe aumenta, pero no cuando disminuye.

Si has estado leyendo el contenido del iframe (una página larga) hasta abajo y luego el contenido cambia a una longitud más corta, lo que pasa es que no se adapta a este contenido más corto, y el resultado es que te quedas situado en la parte baja del iframe y que ahora no contiene nada.
Si refrescas la ventana (F5), entonces vuelve a recargar el contenido del iframe adaptándolo a la nueva longitud, pero sigues estando situado en la parte baja de la página.

Pongo de nuevo la dirección. y ahora bien puesta:
www promotorasocial net/espanol/libro-visitas htm

(donde es un punto)

El código que hay ahora es este:

<script language="JavaScript">
<!--
function calcHeight()
{
//find the height of the internal page
var the_height=
document.getElementById('the_iframe').contentWindo w.
document.body.scrollHeight;

//change the height of the iframe
document.getElementById('the_iframe').height=
the_height;
}
//-->
</script>

y el iframe es así:

<iframe width="750" id="the_iframe"
onLoad="calcHeight();"
src="ladireccióndelapágina.php"
scrolling="no"
frameborder="0"
height="100%" name="libro" border="0">
</iframe>

Gracias de nuevo y saludos
  #5 (permalink)  
Antiguo 03/04/2007, 08:29
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años
Puntos: 5
Re: php dentro de un iframe... pregunta

listo, es justo lo que queria saber, ya te hago el ejemplo

saludos
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #6 (permalink)  
Antiguo 03/04/2007, 08:36
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años
Puntos: 5
Re: php dentro de un iframe... pregunta

en la página donde cargas el iframe, osea, el padre, colocas esto:

pagina_padre.html

Código HTML:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Pagina Padre</title>
</head>

<body>

<script language="javascript">
window.onload = function() {
    document.getElementById("the_iframe").scrolling = "no";
    document.getElementById("the_iframe").src = "ladirecciondelapagina.php";
}
</script>

<iframe name="the_iframe" id="the_iframe" frameborder="0" width="100%" height="100%" marginheight="0" marginwidth="0" height="0" scrolling="no"></iframe>

</body>
</html> 
nota que en el iframe no coloque el llamado a la pagina php, o sea, que no puse el "src", ya que lo hago justo cuando la página padre ha terminado de cargar, esto para evitar cualquier cosa

una vez que tengamos listo el padre, hagamos lo del hijo:


ladirecciondelapagina.php

Código HTML:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>

<body>

<script language="javascript">
    window.onload = function() {
        window.parent.document.getElementById("the_iframe").height = document.getElementById("Contenido").offsetHeight;
    }
</script>

<div id="Contenido">
<!--aqui va todo tu contenido, todo todo.. nada afuera ok?-->
</div>

</body>
</html> 
luego, DEBES envolver todo tu contendio HTML y demás dentro de un div llamado "Contendio", ejemplo:

y listo.

cualquier consulta me avisas

saludos
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.

Última edición por Saruman; 03/04/2007 a las 15:29
  #7 (permalink)  
Antiguo 03/04/2007, 14:34
 
Fecha de Ingreso: marzo-2007
Mensajes: 32
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: php dentro de un iframe... pregunta

El primer código que me indicas lo coloco también dentro del div "contenido" y con la etiqueta <script language="javascript">, ¿cierto?

La cuestión es que funciona igual que antes, a no ser que yo esté haciendo algo mal. Pero lo estoy haciendo tal como me indicas.

Además he descubierto que el problema de que no se redimensione correctamente ocurre en Firefox, pero no en IExplorer, es decir, con el código que tenía antes y con el tuyo hace exactamente lo mismo: en IE bien y el FF mal.

El otro tema (que la página padre se posicione en el navegador en la primera línea) sigue sin funcionar.

¿alguna idea?
  #8 (permalink)  
Antiguo 03/04/2007, 14:45
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años
Puntos: 5
Re: php dentro de un iframe... pregunta

ummmmm no.. no has seguido indicaciones.
lee nuevamente y me comentas.

saludos
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #9 (permalink)  
Antiguo 03/04/2007, 15:04
 
Fecha de Ingreso: marzo-2007
Mensajes: 32
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: php dentro de un iframe... pregunta

A ver si lo entiendo, la primera parte del código que me das... ¿dónde lo pongo exactamente? estamos hablando de que la página padre es una página html, ¿no es así?

A lo mejor es que me estoy liando con los padres y los hijos?

El padre: página htm que contiene un iframe.
Hijo: página php que se asoma por el iframe.

He repetido los pasos varias veces, pero tengo la duda del primer trozo de código.

Gracias

Última edición por mynameis; 03/04/2007 a las 15:27
  #10 (permalink)  
Antiguo 03/04/2007, 15:28
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años
Puntos: 5
Re: php dentro de un iframe... pregunta

modifique el post de arriba donde estaba el ejemplo. sigue paso a paso y fijate bien como estan ambas paginas, tanto el padre como el hijo

saludos
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #11 (permalink)  
Antiguo 04/04/2007, 12:53
 
Fecha de Ingreso: marzo-2007
Mensajes: 32
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: php dentro de un iframe... pregunta

Ya funciona la re-dimensión del iframe.

Lo que no entendía (y donde me estaba equivocando) es que tenia que 'envolver' todo el código php con el div contenido.



Gracias Saruman por la explicación y la paciencia.


Lo del posicionamiento de la página 'padre' lo he arreglado finalmente con

Código:
scrollTo(0,0);

Última edición por mynameis; 04/04/2007 a las 15:00
  #12 (permalink)  
Antiguo 04/04/2007, 15:02
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años
Puntos: 5
Re: php dentro de un iframe... pregunta

enciérralo dentro de una tabla y en el td ponle valign="top", pero ten presente que la tabla debe estar en 100% de altura.

inténtalo así para ver.

saludos
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #13 (permalink)  
Antiguo 04/04/2007, 15:03
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años
Puntos: 5
Re: php dentro de un iframe... pregunta

Cita:
Iniciado por mynameis Ver Mensaje
Gracias Saruman por la explicación y la paciencia.
de nada, para eso estamos
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:31.