Foros del Web » Creando para Internet » HTML »

Al cargar una pagina abrir otra pagina en la misma venta dentro de un iframe

Estas en el tema de Al cargar una pagina abrir otra pagina en la misma venta dentro de un iframe en el foro de HTML en Foros del Web. Hola amigos, tengo un sitio web "sitio"que tiene como pagina de inicio "index" en esta pagina tengo un iframe "iframe1", en este iframe se abren ...
  #1 (permalink)  
Antiguo 08/03/2009, 00:17
 
Fecha de Ingreso: marzo-2009
Mensajes: 9
Antigüedad: 15 años
Puntos: 0
Pregunta Al cargar una pagina abrir otra pagina en la misma venta dentro de un iframe

Hola amigos, tengo un sitio web "sitio"que tiene como pagina de inicio "index" en esta pagina tengo un iframe "iframe1", en este iframe se abren todos los links (ejemplo: servicios, contactenos...) que estan en "index"...el caso es el siguiente: cuando el usuario va a navegar por segunda vez en mi pagina y le sale el historial de la barra de direcciones (le sale:"sitio", "sitio/servicios", "sitio/contactenos") y el selecciona ("sitio/servicios o sitio/contactenos") solo visuzaliza la pagina en si (servicios o contactenos) y no la abre en el iframe de "index".

Que script podria colocar en las paginas "servicios o contactenos" para que automaticamente al cargar se abran en el iframe de index...

Gracias!
  #2 (permalink)  
Antiguo 10/03/2009, 20:50
 
Fecha de Ingreso: marzo-2009
Mensajes: 50
Antigüedad: 15 años
Puntos: 0
Respuesta: Al cargar una pagina abrir otra pagina en la misma venta dentro de un ifra

Lo que necesitas es agregar un script en tus paginas para que al cargarse comprueben si su parent es el iframe index, si no es asi entonces redireccionar la pagina al archivo index, pero con un paramentro en el url para decirle a index que archivo debe cargar dentro de el iFrame.

en las paginas "servicios o contactenos puedes poner algo como esto:

<script language="JavaScript"><!--
if (parent.location.href == self.location.href)
window.location.href = 'index.htm?origen='+window.location.href;
//--></script>

de esa manera te lleva al index,
y en el index tienes que poner un codigo que revise si existe la variable origen con el nombre de la pagina a cargar en el iframe:

en el index agrega este codigo:
<script language="JavaScript"><!--
function getURLVar(urlVarName) {

var urlHalves = String(document.location).split('?');
var urlVarValue = '';
if(urlHalves[1]){

var urlVars = urlHalves[1].split('&');

for(i=0; i<=(urlVars.length); i++){
if(urlVars[i]){

var urlVarPair = urlVars[i].split('=');
if (urlVarPair[0] && urlVarPair[0] == urlVarName) {

urlVarValue = urlVarPair[1];
}
}
}
}
return urlVarValue;
}
//--></script>
var origen = getURLVar('origen');

if(origen!=''){
window.contenidos.location.href =origen;
}

**contenidos es el nombre de tu iframe, asegurate de ponerle name="contenidos" id="contenidos"


Con eso debe de bastar,
no he checado el codigo, pero esa es la idea.

Suerte
Carlos
[email protected]
  #3 (permalink)  
Antiguo 13/03/2009, 18:50
 
Fecha de Ingreso: marzo-2009
Mensajes: 9
Antigüedad: 15 años
Puntos: 0
Respuesta: Al cargar una pagina abrir otra pagina en la misma venta dentro de un ifra

Primero que nada gracias, yo inicialmente habia probado con esto:
<?php

header("Location:navega.php?link=filosofia.php");

?>

Pero el problema que tuve fue que en el iframe del index se me abria el mismo index una y otra vez, debido a que siempre que cargaba la pagina "filosofia.php" redireccionaba al index...

En fin...

Probe el codigo que me enviaste y cuando carga la pagina index no muestra la otra (filosofia.php)... yo creo que el detalle esta en negrita:

<iframe src="" name="contenidos" style="background:#ffffff" width="665" height="300" frameborder="0" id="contenidos"> </iframe>



Muchas gracias!

Última edición por jjhn444; 13/03/2009 a las 19:02
  #4 (permalink)  
Antiguo 13/03/2009, 21:18
 
Fecha de Ingreso: marzo-2009
Mensajes: 50
Antigüedad: 15 años
Puntos: 0
Respuesta: Al cargar una pagina abrir otra pagina en la misma venta dentro de un ifra

Estoy viendo que hay un error en mi script, como te comentaba no cheque el codigo cuando lo mande, pero es muy simple, solo hay que mover el cierre de el script hasta el final.

asi quedaria:

<script language="JavaScript"><!--
function getURLVar(urlVarName) {

var urlHalves = String(document.location).split('?');
var urlVarValue = '';
if(urlHalves[1]){

var urlVars = urlHalves[1].split('&');

for(i=0; i<=(urlVars.length); i++){
if(urlVars[i]){

var urlVarPair = urlVars[i].split('=');
if (urlVarPair[0] && urlVarPair[0] == urlVarName) {

urlVarValue = urlVarPair[1];
}
}
}
}
return urlVarValue;
}

var origen = getURLVar('origen');

if(origen!=''){
window.contenidos.location.href =origen;
}
//--></script>
  #5 (permalink)  
Antiguo 13/03/2009, 22:08
 
Fecha de Ingreso: marzo-2009
Mensajes: 9
Antigüedad: 15 años
Puntos: 0
Respuesta: Al cargar una pagina abrir otra pagina en la misma venta dentro de un ifra

Si yo lo note y lo movi pero igual no me funcionó... que iria en el src del iframe?
  #6 (permalink)  
Antiguo 14/03/2009, 21:58
 
Fecha de Ingreso: marzo-2009
Mensajes: 50
Antigüedad: 15 años
Puntos: 0
Respuesta: Al cargar una pagina abrir otra pagina en la misma venta dentro de un ifra

hice un par de pruebas
parece que el problema es por que estamos intentando llamar
a 'contenidos' antes de que se genere y por eso no esta disponible.

Para solucionarlo meti el codigo en una funcion
que llamaremos mediante onLoad una vez que se carge el Frameset

el codigo queda de esta manera:
en lugar de :

Código HTML:
if(origen!=''){
window.contenidos.location.href =origen;
}
ponemos lo siguiente:
Código HTML:
function redireccionar(destino){
if(destino!=''){
window.frames['contenidos'].location.href =destino;
}
y en tu <FRAMESET> agregar :
Código HTML:
onload="redireccionar(origen)"
(ej:<frameset rows="80,*" frameborder="no" border="0" framespacing="0" onload="redireccionar(origen)">
)

avisame como te fue, segun yo ya con eso quedas servido.

Saludos
El Hocker
  #7 (permalink)  
Antiguo 14/03/2009, 22:00
 
Fecha de Ingreso: marzo-2009
Mensajes: 50
Antigüedad: 15 años
Puntos: 0
Respuesta: Al cargar una pagina abrir otra pagina en la misma venta dentro de un ifra

ooops es un iFrame
entonces el unico cambio es que el onLoad va en el tag de <body> y no en <frameset>
  #8 (permalink)  
Antiguo 14/03/2009, 22:59
 
Fecha de Ingreso: marzo-2009
Mensajes: 9
Antigüedad: 15 años
Puntos: 0
Respuesta: Al cargar una pagina abrir otra pagina en la misma venta dentro de un ifra

Muchas gracias amigo, funciona perfecto...
Si no es molestia, no se si me podrias ayudar con otra cosa...como seria el codigo para que al ejecutar una consulta de mysql (y me devuelva un listado de productos) me muestre los resultados en varias columnas y filas, es decir yo se como hacer para que me los coloque en una fila cada producto:

<?php while($registros=mysql_fetch_array($pac1)){?>
<?php }?>
Esto va dentro de la tabla donde se muestran los productos

Pero intente algo similar para que me los coloque en varias columnas y cuando llegue a numero determinado de columna pase a otra fila y no me sale..

Gracias!
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 11:33.