Comunidad de diseño web y desarrollo en internet online

Frameset completo cuando de doble click a un archivo htm

Citar            
MensajeEscrito el 02 Feb 2012 02:51 pm
Hola, me llamo Juan Francisco, soy nuevo en el foro y doy las gracias adelantadas por este sitio de ayuda a los que no sabemos tanto. Intentaré también compartir en lo que pueda mis conocimientos y experiencia.

Tengo una web que empieza en un index.htm que lleva un frameset con un frame arriba, otro a la izquierda, otro abajo y otro en el centro, y el problema surge cuando le das doble click (o pinchas desde un buscador) a un link de los que van en el centro por separado. ¿Hay alguna manera de hacer que al dar doble click a un archivo salga el frameset completo y ese archivo en un marco de dicho frameset (en este caso el central)? He visto cómo se hace con php, pero mi web no es php y me preguntaba si se puede hacer con javascript.

Gracias y un saludo

juanFran

Por juanFran

5 de clabLevel



 

msie8
Citar            
MensajeEscrito el 02 Feb 2012 05:51 pm
Pues la idea sería detectar mediante JS que existen los frames restantes y caso contrario redireccionar el navegador hacia index.html (que supuestamente carga todos los fames).

Suponiendo que tu frameset es algo así:

Código HTML :

<frameset>
 
  <frame src="cabezado.html" id="frame1" />
   <frame src="columna.html" />
  <frame src="contenido.html" />
 
</frameset>

En contenido.html pones algo como esto:

Código Javascript :

<script>
f1 = document.getElementById("frame1");
if (f1 == undefined) {
window.location = "index.html";
}
</script>

Eso busca el frame con id "frame1", si no está definido es porque no se ha cargado, entonces redirecciona el navegador hacia index.html.

O bién puedes prescindir totalmente de los frames y usar PHP para cargar las partes fijas de tu sitio ;).

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 17 Feb 2012 10:58 am
Gracias por responder y perdón por tardar tanto por mi parte.

El código de JS no me funciona, así que si no encuentro nada tendré que hacer la 2ª opción, cambiar mis páginas a php para hacerlo...

Muchas gracias de nuevo y un saludo.

Por juanFran

5 de clabLevel



 

msie8
Citar            
MensajeEscrito el 17 Feb 2012 12:56 pm
Es mejor si usas la segunda opción.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 28 Ago 2012 09:51 am
Hola de nuevo a todos y gracias por las ayudas,

El caso es que he perdido los favoritos del navegador (se me fué la cabeza al limpiar el equipo) y no consigo encontrar la web con el código php que me resolvía el problema, he mirado y mirado (he quemado el google y todos los foros de programación php) pero para el tema en cuestión no sale nada... acabo de volver de las vacas y me disponía a ponerme con el tema en serio, ya que tengo que cambiar todas las páginas a php, y me he quedado ·$"%&/ !!!

¿alguien sabe donde hay algún código de ejemplo en php?

Lo sé... ya me vale... yo sigo buscando...

Gracias, un saludo !!

Por juanFran

5 de clabLevel



 

msie8
Citar            
MensajeEscrito el 28 Ago 2012 12:18 pm
A ver... PHP es un lenguaje de programación, por ende con el podés hacer muchas cosas...
No va a haber un ejemplo para cada problema en específico que vos tengas, si hay muchos ejemplos y documentación pero para cosas generales...
Acá hay varios tutoriales de PHP, pero vas a tener que aprender todo si querés hacer algo bien hecho, si copias y pegas cuando tengas que modificar algo o te pidan otra funcionalidad que vas a hacer?.
Saludos

Por SinSemilla

Claber

336 de clabLevel



Genero:Masculino  

i am that i am...

firefox
Citar            
MensajeEscrito el 28 Ago 2012 04:36 pm
Hablas de "cambiar a php" como si fuera la gran cosa, solo tienes que cambiar la extensión de ht
ml a .php y wala! ya tienes tu web en php.

ahora si lo que quieres es cargar partes fijas de tu web para reemplazar los frames, solo tienes que usar la funcion include.

Por ejemplo, para cargar el header:

Código PHP :

<?php include("header.php"); ?>


obviamente debes tener un archivo llamado header.php con el marcado del header dentro.

Por HtrMancera

Claber

342 de clabLevel

1 tutorial

Genero:Masculino  

Front-end Developer

chrome
Citar            
MensajeEscrito el 30 Ago 2012 10:04 am
Hola de nuevo y gracias por las respuestas chicos, ya he pasado el tema al foro de php, aunque ahora estoy viendo como hacerlo con JS, pero con iframes...

Vaya lío tengo jajaja... al final voy a hacer la web entera de nuevo poniendo todo en cada link como me aconseja El Friky! de la sección de php y a freir chuletas jajaja, pasando de frameset. Si no fuera por lo extensa que es la web y el trabajo que me va a costar hacerlo ya lo habría hecho !!

Gracias otra vez, y perdona amigo SinSe, he borrado un mensaje erróneo que puse ayer... lo siento.

Por juanFran

5 de clabLevel



 

msie8
Citar            
MensajeEscrito el 30 Ago 2012 10:23 am
Hola de nuevo,

Buscando aquí y allí he encontrado una forma de hacerlo con JS, pero con iframe.

En la cabecera de las paginas internas colocar esto

Código:
<script type="text/javascript">
if (self.location == top.location){
top.location.href = 'index.html?paginaf='+self.location;
}
</script>
que lo que hace es redireccionar la pagina interna a la pagina principal que continee los frames, y de paso incluye la variable "paginaf" que contiene cual es la pagina que quería ver.

luego en la pagina principal en la cabecera colocar

Código:
<script language="javascript">
var Url = location.href;
Url = Url.replace(/.*\?(.*?)/,"$1");
Variables = Url.split ("&");
for (i = 0; i < Variables.length; i++) {
Separ = Variables[i].split("=");
eval ('var '+Separ[0]+'="'+Separ[1]+'"');
}
</script>
este desarma todo lo que le pasamos y convierte en variables a las variables que hay en la url. puede servir para otras cosas puesto convierte todas las variables, pero aquí solo usamos una: paginaf

y DEBAJO de donde se encuentra nuestro iframe

Código:
<script>
nombredeliframe.location = paginaf;
</script>



Voy a ver si puedo hacerlo con frames normales y os cuento, me parece interesante este tema, aparte de mi interés por ello.

Saludos

Por juanFran

5 de clabLevel



 

msie8
Citar            
MensajeEscrito el 30 Ago 2012 12:06 pm
Si podés evitar los iframe.... mejor.

Por SinSemilla

Claber

336 de clabLevel



Genero:Masculino  

i am that i am...

firefox
Citar            
MensajeEscrito el 04 Sep 2012 12:05 pm
Hola de nuevo, gracias por responder SinSemilla y perdón por la tardanza en volver al hilo, estoy que no paro (gracias a Dios) !!

Me quedo con tu grato consejo, iré viendo cómo hacerlo en cuanto pueda y os cuento. Por cierto, ¿por qué motivo no me recomiendas usar iframe?

Gracias y saludos !!

Por juanFran

5 de clabLevel



 

msie8
Citar            
MensajeEscrito el 04 Sep 2012 12:11 pm
No tengo muy clara la historia de los iframes, (para mi son viejos y obsoletos), antes se usaban para recargar contenido dentro de la misma página si no me equivoco, pero ahora podes usar AJAX, y otra desventaja es que no podes acceder a el con los CSS (no estoy seguro...) o JS (con este no podes) de la página padre.
En fin... yo personalmente no se me ha presentado o no encuentro motivos para usarlos teniendo otras herramientas, pero bueno...
Saludos.

Por SinSemilla

Claber

336 de clabLevel



Genero:Masculino  

i am that i am...

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.