Foros del Web » Creando para Internet » HTML »

linkear a un anchor dentro de un frameset

Estas en el tema de linkear a un anchor dentro de un frameset en el foro de HTML en Foros del Web. Tengo que efectuar modificaciones en un sitio donde la navegabilidad del mismo está basado en un frameset, en el frame _main la página contiene varios ...
  #1 (permalink)  
Antiguo 05/10/2005, 07:24
Avatar de Daniel Ulczyk
Super Moderador
 
Fecha de Ingreso: febrero-2005
Ubicación: Buenos Aires
Mensajes: 9.264
Antigüedad: 19 años, 8 meses
Puntos: 2114
Pregunta linkear a un anchor dentro de un frameset

Tengo que efectuar modificaciones en un sitio donde la navegabilidad del mismo está basado en un frameset, en el frame _main la página contiene varios anchors, los cuales son utilizados por enlaces desde el otro frame.
Cómo llamo desde un link al frameset tal que me abra el frame _main en un determinado anchor?
__________________
—Somos lo que hacemos repetidamente. La excelencia, entonces, no es un acto sino un hábito. (Aristóteles dixit)
  #2 (permalink)  
Antiguo 05/10/2005, 07:45
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 19 años, 9 meses
Puntos: 0
No entendí mucho la pregunta, pero usando el atributo target podés definir en qué frame abrir el link.

Código HTML:
<a href="pag.html" target="_main">Pag</a> 
Ese link va a abrir pag.html en el frame _mail.

Suerte
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #3 (permalink)  
Antiguo 05/10/2005, 08:19
Avatar de Daniel Ulczyk
Super Moderador
 
Fecha de Ingreso: febrero-2005
Ubicación: Buenos Aires
Mensajes: 9.264
Antigüedad: 19 años, 8 meses
Puntos: 2114
Exclamación

Gracias por la pronta respuesta, pero no es lo que estoy necesitando:
Cita:
Cómo llamo desde un link al frameset tal que me abra el frame _main en un determinado anchor?
De hecho, el tema no el target, sino los anchors/marcadores/anclas, etc.
Insisto en que tomes en consideración mi primer post.
Saludos.
__________________
—Somos lo que hacemos repetidamente. La excelencia, entonces, no es un acto sino un hábito. (Aristóteles dixit)
  #4 (permalink)  
Antiguo 06/10/2005, 00:46
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 2 meses
Puntos: 381
Si te he entendido bien debes especificar el nombre del anchor tras el nombre de archivo, además del target como menciona thunder.scripts

<a href="pag.html#nombreDelAnchor" target="_main">Pag</a>
  #5 (permalink)  
Antiguo 06/10/2005, 00:50
Avatar de leoj90
Usuario baneado!
 
Fecha de Ingreso: agosto-2005
Mensajes: 1.365
Antigüedad: 19 años, 3 meses
Puntos: 0
Anchor?, q es eso?? Por lo q entiendo de tunait eso en mi idioma es 'distintas partes de una misma pagina' y es algo asi............. link.php#partedelapagina
  #6 (permalink)  
Antiguo 06/10/2005, 01:05
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 2 meses
Puntos: 381
Hola leoj90

anchor (ancla) es la denominación de estos links internos
  #7 (permalink)  
Antiguo 06/10/2005, 01:39
Avatar de leoj90
Usuario baneado!
 
Fecha de Ingreso: agosto-2005
Mensajes: 1.365
Antigüedad: 19 años, 3 meses
Puntos: 0
Ah, porq yo estudie de dw y asi decia
  #8 (permalink)  
Antiguo 06/10/2005, 04:30
Avatar de Daniel Ulczyk
Super Moderador
 
Fecha de Ingreso: febrero-2005
Ubicación: Buenos Aires
Mensajes: 9.264
Antigüedad: 19 años, 8 meses
Puntos: 2114
Estimados:
Presiento que no se ha entendido bien el tema. No hay dudas sobre cómo acceder a una página, a un determinado lugar cuando existen previos marcadores definidos (anchor = anclas).
El tema de marras implica que dicha página está contenida en un frameset, que muestra una página a la izquierda y una a la derecha.
La de la izquierda contiene opciones que permiten navegar la página de la derecha; la cual es extensa y tiene definidas varias anclas a lo largo del documento.
Cuando llamo a este frameset desde otro link del sitio se me presenta la página de la izquierda con sus botones y la página de la derecha al inicio de la misma.
Ahora bien, mi cliente quiere otro enlace tal que se habra este frameset y la página que tiene los contenidos se abra en un determinado anchor, el cual está a medio camino entre el inicio del documento y el final ¿sí?
¿Cómo logro esto?
Esa es la pregunta planteada desde el primer post.
Agradezco la buena predisposición de todos los participantes.
__________________
—Somos lo que hacemos repetidamente. La excelencia, entonces, no es un acto sino un hábito. (Aristóteles dixit)
  #9 (permalink)  
Antiguo 06/10/2005, 04:56
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 2 meses
Puntos: 381
Vale, ahora entiendo. Pues me temo que con simple html no vas a poder hacerlo. Deberás, como poco, usar javascript aunque si estás usando algún lenguaje del lado del servidor casi que mejor. Dime si puedes usar asp o php, si no te pongo un ejemplo con javascript
  #10 (permalink)  
Antiguo 06/10/2005, 05:16
Avatar de Daniel Ulczyk
Super Moderador
 
Fecha de Ingreso: febrero-2005
Ubicación: Buenos Aires
Mensajes: 9.264
Antigüedad: 19 años, 8 meses
Puntos: 2114
enlace a un marcador dentro de una página contenida en un frameset

Enhorabuena Tunait!
Agradecería entonces, me des una pista con JavaScript.
__________________
—Somos lo que hacemos repetidamente. La excelencia, entonces, no es un acto sino un hábito. (Aristóteles dixit)
  #11 (permalink)  
Antiguo 06/10/2005, 08:29
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 2 meses
Puntos: 381
El tema es cargar en el marco principal de un frameset un documento distinto al que está especificado dentro del propio frameset y/o que además salte a un anchor determinado.

Si tenemos un frameset en el cual se han definido dos marcos, en uno carga menu.html y en el otro principal.html y queremos que desde un link se cargue este frameset pero que en vez de cargar principal.html como está definido en el código del frameset se cargue otro documento, por ejemplo pagina2.html habremos de poner un script de control que se encargue de averiguar si queremos que se cargue automáticamente otro documento en el marco principal. El script de control lo pondremos dentro del documento del menú del frameset que ha de realizar el cambio.

El script es el siguiente:

Código:
<script type="text/javascript">
<!--
/*script por tunait!. Favor de mantener el crédito al autor, gracias*/
var marco = "mainFrame";
var pag, anc,dir, pa = parent.location.search, pat = /pag|anc/
if(pa.length > 1){
	pa = pa.substr(1).split("&");
	for(m=0; m<pa.length; m++){
		if(pat.test(pa[m].substr(0,3))){
			eval(pa[m].split("=")[0] + "= '" + pa[m].split("=")[1] + "'");
		}
	}
	if(pag || anc){
		anc = anc ? '#' + anc : ''
		dir = pag ? pag + anc : anc ? anc : false
	}
	if(dir){
		eval('parent.' + marco + '.location.href = dir;');
	}
}
//-->
</script>
En la segunda línea del script hay que definir el nombre del marco en donde se va a cargar el documento

var marco = "mainFrame";

Para que esto funcione hay que indicar al link que cargue el frameset que queremos que haga el cambio de documento enviando un parámetro en la url

el link llamará al frameset pasando el parámetro pag con la página a cargar.

Si se quiere que cargue pagina1.html se le linka a frameset.html?pag=pagina.html

Si además se quiere que salte a un anchor concreto dentro de ese documento se le envía un segundo parámetro anc con el nombre del anchor

frameset.html?pag=pagina.html&anc=uno

<a href="frameset.html?pag=pagina.html&anc=uno"> link al frameset </a>

Eso cargará el frameset con pagina.html a la altura del anchor uno en el frame principal en lugar de principal.html

Avísame si no te queda claro o déjame saber si te fue bien

Un saludo

Última edición por tunait; 06/10/2005 a las 08:48
  #12 (permalink)  
Antiguo 06/10/2005, 08:43
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 2 meses
Puntos: 381
...me quedó algo en el tintero;

si la página que debe mostrarse es la que propia que está especificada en el frameset (principal.html) pero quieres que salte a un anchor determinado el procedimiento es el mismo, indicándole que quieres principal.html en el parámetro pag
  #13 (permalink)  
Antiguo 06/10/2005, 09:10
Avatar de Daniel Ulczyk
Super Moderador
 
Fecha de Ingreso: febrero-2005
Ubicación: Buenos Aires
Mensajes: 9.264
Antigüedad: 19 años, 8 meses
Puntos: 2114
De acuerdo

A la brevedad lo estaré implementando y te daré a conocer los resultados.
Finalmente quiero que sepas lo valioso de tu aporte ya que hace más de una semana que vengo buscando solución a este tema y han sido innumerables los post de diversos foros de programación que he tenido oportunidad de leer y no haber conseguido la solución.
Saludos.
__________________
—Somos lo que hacemos repetidamente. La excelencia, entonces, no es un acto sino un hábito. (Aristóteles dixit)
  #14 (permalink)  
Antiguo 07/10/2005, 07:18
Avatar de Daniel Ulczyk
Super Moderador
 
Fecha de Ingreso: febrero-2005
Ubicación: Buenos Aires
Mensajes: 9.264
Antigüedad: 19 años, 8 meses
Puntos: 2114
Lamentablemente no he podido implementar en forma debida el script de Tunait.
Si entendí bien, el mismo debe estar insertado entre las etiquetas <frameset> ¿esto es así?
Por otro lado el anchor al cual quiero arribar es en la página definida en el frameset ¿debo redefinir algo?
Y por último, el link desde el cual quiero obtener este resultado está en una folder superior.
Está correctamente definido de la siguiente manera:
<a href="folder/index.html?pag=contenido.html&anc=tres" target="_self">abrir
frameset en la posición del anchor: tres</a>
El frameset index.html está de la siguiente forma:
<frame src="left.html" name="leftFrame" scrolling="NO" noresize>
<frame src="contenido.html" name="mainFrame">
__________________
—Somos lo que hacemos repetidamente. La excelencia, entonces, no es un acto sino un hábito. (Aristóteles dixit)
  #15 (permalink)  
Antiguo 07/10/2005, 07:32
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 2 meses
Puntos: 381
Hola de nuevo Daniel,

no, el script debe ir en el documento donde se encuentra el menú left.html

El link, yo diría que está correcto. Sólo pega el script en left.html y me cuentas
  #16 (permalink)  
Antiguo 07/10/2005, 07:49
Avatar de Daniel Ulczyk
Super Moderador
 
Fecha de Ingreso: febrero-2005
Ubicación: Buenos Aires
Mensajes: 9.264
Antigüedad: 19 años, 8 meses
Puntos: 2114
De acuerdo

Perfectly...!

Gracias Tunait!

Saludos.
__________________
—Somos lo que hacemos repetidamente. La excelencia, entonces, no es un acto sino un hábito. (Aristóteles dixit)
  #17 (permalink)  
Antiguo 07/10/2005, 07:54
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 2 meses
Puntos: 381
No hay de qué, me alegra que lo solucionaras

Un saludo
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 05:43.