Foros del Web » Programando para Internet » Javascript »

Enlace "doble" a iframe

Estas en el tema de Enlace "doble" a iframe en el foro de Javascript en Foros del Web. Buenas! Estoy haciendo un proyecto sobre esculturas, lo tengo prácticamente terminado, pero hay un tema que no consigo resolver... Si visitan este enlace: http://www.olot.org/cultura/escultures/forma.php y ...
  #1 (permalink)  
Antiguo 12/01/2009, 11:44
 
Fecha de Ingreso: mayo-2006
Mensajes: 18
Antigüedad: 18 años
Puntos: 0
Enlace "doble" a iframe

Buenas!

Estoy haciendo un proyecto sobre esculturas, lo tengo prácticamente terminado, pero hay un tema que no consigo resolver...

Si visitan este enlace: http://www.olot.org/cultura/escultures/forma.php y hacen click en "Donació"

Verán que aparece a la izquierda una larga lista de esculturas. Si hacen click en cualquiera de ellas funciona bién.

El problema viene al hacer clic a las últimas ya que no ves que la página ha cambiado (con la ficha de la nueva escultura).

Esto sucede porque la ficha esta dentro de un iframe...

Mi pregunta es... ¿puedo hacer que al hacer click en la escultura, además de cambiar el contenido del iframe, me suba al principio de la página?

PD: lo primero que se me ocurrió es poner un límite de esculturas y paginar, pero no vale!

GRACIAS!!!

PD2: el código de forma.php:

Código:
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
  <title>Fitxa escultura</title>
  <link href="estil.css" rel="stylesheet" type="text/css">
        <script src="./lightbox/js/prototype.js" type="text/javascript"></script>
        <script src="./lightbox/js/scriptaculous.js?load=effects,builder" type="text/javascript"></script>
        <script src="./lightbox/js/lightbox.js" type="text/javascript"></script>
</head>


<table
 style="width: 1000px; text-align: left; margin-left: auto; margin-right: auto;"
 border="0" cellpadding="2" cellspacing="2" align="center">
  <tbody>
    <tr>
      <td width="250" align="undefined" valign="middle"><img src="./imatges/logo_petit.jpg" /></td>
      <td width="280" align="undefined" valign="middle" width="250"></td>
      <td width="85" valign="middle" style="text-align: left;"><span class="petita_gris"><a href="benvinguda.php">BENVINGUDA</a></span></td>
      <td width="20" align="undefined" valign="middle"><img src="./imatges/punt.gif" /></td>
      <td width="45" align="undefined" valign="middle"><span class="petita_gris"><a href="busca.php">CERCA</a></span></td>
      <td width="20" align="undefined" valign="middle"><img src="./imatges/punt.gif" /></td>
      <td width="35" align="undefined" valign="middle"><span class="petita_gris"><a href="mapa.php">MAPA</a></span></td>
      <td width="20" align="undefined" valign="middle"><img src="./imatges/punt.gif" /></td>
      <td width="65" align="undefined" valign="middle"><span class="petita_gris"><a href="itinerari.php">ITINERARI</a></span></td>
      <td width="20" align="undefined" valign="middle"><img src="./imatges/punt.gif" /></td>
      <td width="150" align="undefined" valign="middle"><span class="petita_gris"><a href="llibre.php">LLIBRE DE VISISTES</a></span></td>
    </tr>

      <td colspan="11" rowspan="1">
<?php include 'connectar.php';
echo "<table width=1000><tr><td width=150 valign=top>";
echo "<span class=gran_negre><a href=busca.php><br />CERCA PER...</a><br />forma d'ingr&eacute;s<br /><br /></span>";
$forma = mysql_query("SELECT * FROM propia group by forma_ingres")
or die(mysql_error());
while($row = mysql_fetch_array($forma)){
        echo "<span class=gran_negre><a href=forma.php?key=$row[forma_ingres]>".$row['forma_ingres']."</a></span> <br />";
}

//echo "<br />";

$key=isset($_REQUEST['key'])?$_REQUEST['key']:' ';
if (empty($key)){
//echo "<span class=gran_negre>SELECCIONA UNA FORMA D'INGRES</span>";
}
else
	{
		echo "<br /><span class=gran_negre>" .$key. "</span><br /><br />";
		$autor = mysql_query("SELECT * FROM propia WHERE forma_ingres LIKE '%$key%'")
		or die(mysql_error());
		while($row = mysql_fetch_array($autor))
			{
		        echo "<span class=gran_negre><a href=fitxa_completa.php?seleccio=$row[id] target=intern>".$row['titol']."</a></span> ";
			echo "<br />";	
                        if (FILE_EXISTS("./temporary/".$row['num']."_h.jpg")) {
                        echo "<a href=fitxa_completa.php?seleccio=$row[id] target=intern><img src=temporary/".$row['num']."_h.jpg height=60 /> </a></span><br /><br />";
                        } else {
                          echo "";
                        }

			}

echo "<br /><br />";

	}
?>

</td>
<td width=10></td>
<td valign="top">
<script>
function changeContent()
{
document.getElementById('contentDIV').innerHTML = window.frames['intern'].document.getElementsByTagName('html')[0].innerHTML;
}
</script>

<div id = "contentDIV"><br></div>
<iframe id="intern" name="intern" src=intern_forma.htm onLoad="changeContent()" style="height:0; width:0; border-width:0;"></iframe></td></tr></table>

     </td>
  </tbody>
</table>
</html>
  #2 (permalink)  
Antiguo 12/01/2009, 12:19
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Enlace "doble" a iframe

Tema trasladado a Javascript.
  #3 (permalink)  
Antiguo 12/01/2009, 12:23
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 8 meses
Puntos: 49
Respuesta: Enlace "doble" a iframe

al principio de tu pagina pon un ref name

<a name="top"></a>


y ya luego en tu imagen en el enlace pones la direccion al top en tu caso de la ultima imagen de donació supongo tendras...

<a href="cultura/escultures/fitxa_completa.php?seleccio=167#top" target="tuiframe"></a>


agregas el #top

y deberia llevarte a donde esta tu name has una prueba y nos comentas
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #4 (permalink)  
Antiguo 12/01/2009, 15:27
 
Fecha de Ingreso: mayo-2006
Mensajes: 18
Antigüedad: 18 años
Puntos: 0
Respuesta: Enlace "doble" a iframe

Muchas gracias kaninox, pero parece que no funciona...

A ver, he añadido "#top" al enlace:
Cita:
echo "<span class=gran_negre><a href=fitxa_completa.php?seleccio=$row[id]#top target=intern>".$row['titol']."</a></span> ";
Luego he probado de poner <a name=top></a> al principio del fichero forma.php, pero no hacia nada. Entiendo porque el enlace apunta a fitxa_completa.php, en vez de forma.php, por este motivo he añadido <a name=top></a> a fitxa_completa.php. Lo que hace es dejarmelo a la mitad, en vez de arriba ... mejor si lo veis online ...

http://www.olot.org/cultura/escultures/forma.php

PD: Fijense, que solo he añadido #top al texto, no a las imagenes, en cuanto funcione, ya lo acabaré....


¿alguién más tiene ideas?
  #5 (permalink)  
Antiguo 12/01/2009, 18:47
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 8 meses
Puntos: 49
Respuesta: Enlace "doble" a iframe

primero veo tu fuente de forma.php y no tiene un body definido :o
ahora bien despues de tu head deberias poner un body y definir tu name debajo de este
en tu caso
</head>
<a name="top"></a> pones las comillas dobles.....
si pones un body pones
</head>
<body>
<a name="top"></a>


mi pregunta ahora es estas con IE????
con firefox te deberia ir perfecto.....
ahora si estas con IE tiene problemas con este tipo de redirecciones puedes usar smooth.pack.js buscalo en internet es una clase javascript que te solo la instalas y ademas te da un efecto bonito al hacer el a name

agrega el codigo para poder probar saludos....

saludos....
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #6 (permalink)  
Antiguo 13/01/2009, 01:33
 
Fecha de Ingreso: mayo-2006
Mensajes: 18
Antigüedad: 18 años
Puntos: 0
Respuesta: Enlace "doble" a iframe

Sigue sin funcionar...


Cita:
primero veo tu fuente de forma.php y no tiene un body definido :o
ahora bien despues de tu head deberias poner un body y definir tu name debajo de este
ahora ya si que tengo el <body>! ;)

Cita:
en tu caso
lo he dejado asi..
Código HTML:
...
</head>
<body>
<a name="top"></a>
<table>
...

Cita:
mi pregunta ahora es estas con IE????
con firefox te deberia ir perfecto.....
ahora si estas con IE tiene problemas con este tipo de redirecciones puedes usar smooth.pack.js buscalo en internet es una clase javascript que te solo la instalas y ademas te da un efecto bonito al hacer el a name
Nops... estoy en Firefox, ayer en casa con Linux y ahora en WinXP, también lo he probado con IE 6, y no hace nada!

Cita:
agrega el codigo para poder probar saludos....
Ya lo he hecho, aparte de los cambios mencionados al principio, he añadido #top al texto...
Código PHP:
echo "<span class=gran_negre><a href=fitxa_completa.php?seleccio=$row[id]#top target=intern>".$row['titol']."</a></span> "
PD: Estos dos cambios los he hecho en forma.php, fitxa_completa.php esta intacto, correcto, ¿no?


gracias por la paciencia!
  #7 (permalink)  
Antiguo 13/01/2009, 15:38
 
Fecha de Ingreso: mayo-2006
Mensajes: 18
Antigüedad: 18 años
Puntos: 0
Respuesta: Enlace "doble" a iframe

He estado jugando con esto (enlace especial que cambia dos ventanas iFrame al mismo tiempo)...

http://www.samisite.com/test-csb2nf/id82.htm

Pero tampoco funciona.

¿alguién da mas?
  #8 (permalink)  
Antiguo 14/01/2009, 16:19
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 8 meses
Puntos: 49
Respuesta: Enlace "doble" a iframe

tienes razon asi me puse a jugar y tienes que dejar el
<a name="top"></a>

dentro de tu pagina que se va abrir en el iframe... en tu caso
fitxa_completa.php

debajo del body igual como en forma.php pero en tu pagina
fitxa_completa.php

ya lo probe deberia funcionarte ;)
saludos....
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #9 (permalink)  
Antiguo 14/01/2009, 22:04
Avatar de danistrein  
Fecha de Ingreso: septiembre-2008
Ubicación: Salta Capital
Mensajes: 550
Antigüedad: 15 años, 8 meses
Puntos: 9
Respuesta: Enlace "doble" a iframe

y si n ahy otra respuesta
pon el mismo nombre en los flames que quieres que cambie pero poniendoles direciones :S
  #10 (permalink)  
Antiguo 15/01/2009, 04:57
 
Fecha de Ingreso: mayo-2006
Mensajes: 18
Antigüedad: 18 años
Puntos: 0
Respuesta: Enlace "doble" a iframe

danistrein, disculpa pero no entiendo que quieres decir.

kaninox, he hecho exactamente lo que me comentas y nada, sigue igual, lo puedes ver en la web.

Ahora mismo los ficheros estan asi...

fitxa_completa.php:
Código HTML:
<html>
<head>
        <link rel="stylesheet" href="./lightbox/css/lightbox.css" type="text/css" media="screen" />
</head>
<body>
<a name="top"></a>
<table style="text-align: left; background-color: rgb(50,50,50);" border="0" cellpadding="0" cellspacing="0">
...
</table>
</body>
</html> 
forma.php:
Código HTML:
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
  <title>Fitxa escultura</title>
  <link href="estil.css" rel="stylesheet" type="text/css">
        <script src="./lightbox/js/prototype.js" type="text/javascript"></script>
        <script src="./lightbox/js/scriptaculous.js?load=effects,builder" type="text/javascript"></script>
        <script src="./lightbox/js/lightbox.js" type="text/javascript"></script>
</head>
<body>
<!-- a name="top"></a -->
<table
 style="width: 1000px; text-align: left; margin-left: auto; margin-right: auto;"
 border="0" cellpadding="2" cellspacing="2" align="center">
...
		        echo "<span class=gran_negre><a href=fitxa_completa.php?seleccio=$row[id]#top target=intern>".$row['titol']."</a></span> ";
...
</table>
</body>
</html> 
Saludos!
  #11 (permalink)  
Antiguo 15/01/2009, 13:20
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 8 meses
Puntos: 49
Respuesta: Enlace "doble" a iframe

mmmm raro pero vi tu fuente en fitxa_...
y solo veo

<br /></font>
</div>
<p>
</p>
</body>
</html>


y pues si te fijas cuando le doy al link top sube pero al final del iframe no al principio, yo se que funciona lo probe debes tener algun tipo de error
prueba poniendo el <a name="top"></a>
al principio de todo con php

<?php
echo "<a name=\"top\"></a>";
?>
__________________
Gokuh Salvo al mundo. PUNTO!!!!
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 03:08.