Inicio > Macromedia Dreamweaver > phpnuke > Cambio de Marcos

Cambio de Marcos

Experto:
Usuario:
Fecha: 03/11/2003
Valoración: (5,00 sobre 5) Categoría: Macromedia Dreamweaver
06/10/2003
anacase, usuario preguntando en Macromedia Dreamweaver
Usuario
Hola, tengo una pagina web con tres marcos. El de la izq que contiene un menu, el de arriba que tiene dibujos y el central.
Cuando elijo una opc del menu, el marco del medio cambia pero tb me gustaria cambiar el marco superior y no se como hacer que cuando elija una opc me cambien el contenido de dos marcos.
Gracias anticipadas.
06/10/2003
anacase, experto respondiendo en Macromedia Dreamweaver
Experto
Este es el codigo:


<script language="JavaScript" type="text/JavaScript">
<!--
function MM_goToURL() { //v3.0
var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
for (i=0; i<(args.length-1); i+=2) eval(args+".location='"+args[i+1]+"'");
}
//-->
</script>

Debes meterlo entre las etiquetas <head> y </head>. Luego, este codigo ira en la etiqueta body de apertura:

<body onLoad="MM_goToURL('parent','mimarco.htm');return document.MM_returnValue">

Debes cambiar lo de parent por el nombre de tu marco (tal y como se llame, con mayusculas y todo) y lo de mimarco.htm por el nombre de la pagina a mostrar en el marco en el que se mostrara esa pagina a la hora de hacer el onload.
Recuerda que si el vinculo del marco superior va al marco de la izquierda, el onload ira al marco de la derecha, ok??

espero que lo entiendas.
07/10/2003
anacase, usuario preguntando en Macromedia Dreamweaver
Usuario
A ver si me he enterado, te digo lo que he hecho ..porque me da un error de codigo en el Onload (aparece amarillo).
Los dos codigos que me has pasado los he puesto en la pagina central, vamos en la que se carga cuando pincho la opc del menu, y en parent he puesto el nombre de la pagina que quiero que aparezca en el marco de arriba .. esta bien???
09/10/2003
anacase, experto respondiendo en Macromedia Dreamweaver
Experto
aca te dejo un mejor ejemplo:
Supongamos que tenemos una página con 3 frames llamados A, B y C, de la
siguiente forma:

<HTML>
<FRAMESET COLS="30%,30%,*" FRAMEBORDER="yes">
<FRAME NAME="A" SRC="principal.html">
<FRAME NAME="B" SRC="">
<FRAME NAME="C" SRC="">
</FRAMESET>
</HTML>

El frame B y C están vacios pero puede ir cualquier página.

Bien ahora desde el frame A vamos a cargar los frames B y C con el siguiente
ejemplo de principal.html:

<HTML>

<script language="JavaScript">
function carga(dirURL1,dirURL2)
{
window.open(dirURL1,"B");
window.open(dirURL2,"C");
}
</script>

<body>
<a
href="javascript:carga('http://www.terra.es','http://www.microsoft.com')">Pu
lsa</a>
</body>
</HTML>

Saludos.
12/10/2003
anacase, usuario preguntando en Macromedia Dreamweaver
Usuario
No tengo manera de hacer cambiar la pagina.htm del topframe al elegir una opc, solo consigo cambiar la pagina.htm del mainframe.
Segun me indicas ese cambio lo haria al carga la pagina.htm en el mainframe, es decir en el codigo de htm de la pagina que se carga,no?, y poniendo lo que me mandas me da error.
No se que estoy haciendo mal o si te estoy dando mal la información.
12/10/2003
anacase, experto respondiendo en Macromedia Dreamweaver
Experto
disculpa, ya lo probe y es asi:
entre el <head> esto:
<script language="JavaScript">
function carga(dirURL1,dirURL2)
{
window.open(dirURL1,"B");
window.open(dirURL2,"C");
}
</script>

y en el frame donde va el link esto:
<a
href="javascript:carga('http://www.terra.es','http://www.microsoft.com')">Pu
lsa</a>

fijate que "A" es el frame de arriba (por ejemplo) y "B" el otro frame.

suerte.
19/10/2003
anacase, usuario preguntando en Macromedia Dreamweaver
Usuario
A ver te cuento como lo tengo montado, el la pag donde tengo el menu hay esto, me refiero al link que hace.
<a href="funcionamiento.htm" target="mainFrame" onMouseOver="MM_swapImage('Image8','','file:///C|/parchis/imagen/funciona2.jpg',1)" onMouseOut="MM_swapImgRestore()"><img src="file:///C|/parchis/imagen/funciona.jpg" name="Image8" width="116" height="36" border="0"></a>,
entonces según me dices tu, aqui pondría el link a el marco de arriba indicando tb en target=topframe, no?.
19/10/2003
anacase, experto respondiendo en Macromedia Dreamweaver
Experto
no,
deberia ser asi:
<a href="javascript:carga('funcionamiento.htm','http://www.microsoft.com')" onMouseOver="MM_swapImage('Image8','','file:///C|/parchis/imagen/ funciona2.jpg',1)" onMouseOut="MM_swapImgRestore()"><img src="file:///C|/ parchis/imagen/funciona.jpg" name="Image8" width="116" height="36" border="0"></a>

funcionamiento.htm se abre en el frame A y microsoft.com en el frame B
20/10/2003
anacase, usuario preguntando en Macromedia Dreamweaver
Usuario
He probado lo que me has puesto y seleccionar la opc, me da error de pagina y no se cambia ningún frame.
El código (tanto la función como href) lo he puesto en la pagina menu.htm donde se hace el link a las otras páginas.
No sé si te comenté que utilizo Dreamweaver MX, por si te sirve de información. A la espera que me digas algo y muchas gracias por todo, que aún no te he dicho nada.
23/10/2003
anacase, experto respondiendo en Macromedia Dreamweaver
Experto
estas poniendo bien el nombre de los marcos que queres cambiar??
cambia A por el marco que queres cambiar y B por el otro.

mira que lo probe yo y anda.
26/10/2003
anacase, usuario preguntando en Macromedia Dreamweaver
Usuario
El nombre de los marcos te refieres a esto:
window.open(dirURL1,"mainFrame");
window.open(dirURL2,"topFrame");
ó al nombre de los marcos.
window.open(dirURL1,"centroframe.htm");
window.open(dirURL2,"arribaframe.htm");
no al nombre que contiene lo que quiero que salga.

Porque lo he probado de las dos maneras y me sale en el frame del menu que no se puede mostrar la página.
28/10/2003
anacase, experto respondiendo en Macromedia Dreamweaver
Experto
hace una cosa mandame el codigo de la pagina y te digo que esta mal.
02/11/2003
anacase, usuario preguntando en Macromedia Dreamweaver
Usuario
Aqui te mando el codigo que hay en la pagina del menú.

Esto en Head:
function carga(dirURL1,dirURL2)
{
window.open(dirURL1,"centro.htm");
window.open(dirURL2,"topmarco.htm");

La llamada a mainframe

<td height="39" align="center"><a href=="javascript:carga('funcionamiento.htm','banner.htm')" onMouseOver="MM_swapImage('Image8','','file:///C|/parchis/imagen/funciona2.jpg',1)" onMouseOut="MM_swapImgRestore()"><img src="file:///C|/parchis/imagen/funciona.jpg" name="Image8" width="116" height="36" border="0"></a></td>
03/11/2003
anacase, experto respondiendo en Macromedia Dreamweaver
Experto
nonono...
en vez de esto:

Esto en Head:
function carga(dirURL1,dirURL2)
{
window.open(dirURL1,"centro.htm");
window.open(dirURL2,"topmarco.htm");


asi:

Esto en Head:
function carga(dirURL1,dirURL2)
{
window.open(dirURL1,"mainFrmae");
window.open(dirURL2,"topFrame");

y estos dos nombres van sin .html segun el nombre de cada frame.

un ejemplo delnombre de cada frame seria en el index.html:

<frame src="Home.htm" name="mainFrame" scrolling="auto" noresize>

se entiende??
el "name" que tiene Home.htm tenes que poner.
03/11/2003
anacase, usuario preguntando en Macromedia Dreamweaver
Usuario
Ya está, lo que estaba pasando aparte que había puesto mal el nombre de los frame es que no tenía la llave que cierra el script "}".

Muchisimas gracias por todo.
Enlaces patrocinados