Ayuda por favor con los frames!!

hds
22 de Junio del 2005
Bueno tengo el siguiente codigo en JavaScript que es de un menu que pusiero aqui en estos foros con algunas ligeras modificaciones en cuanto a formato:

<SCRIPT language="JavaScript">
<!--

IE=document.all;
NS=document.layers;

/*
Configure menu styles below
NOTE: To edit the link colors, go to the STYLE tags and edit the ssm2Items colors
*/
hdrFontFamily="Verdana";
hdrFontSize="2";
hdrFontColor="white";
hdrBGColor="#666666";
linkFontFamily="Verdana";
linkFontSize="1";
linkBGColor="white";
linkOverBGColor="#CCCCCC";
linkTarget="_top";
YOffset=20;
staticYOffset=20;
menuBGColor="black";
menuIsStatic="yes";
menuHeader="Firewalls"
menuWidth=200; // Must be a multiple of 5!
staticMode="advanced"
barBGColor="#333333";
barFontFamily="BankGothic LT BT";
barFontSize="3";
barFontColor="white";
barText="MENU";

function moveOut() {
if (window.cancel) {cancel="";}
if (window.moving2) {clearTimeout(moving2); moving2="";}
if ((IE && ssm2.style.pixelLeft<0)||(NS && document.ssm2.left<0)) {
if (IE) {ssm2.style.pixelLeft += (5%menuWidth);}
if (NS) {document.ssm2.left += (5%menuWidth);}
moving1 = setTimeout('moveOut()', 5)}
else {clearTimeout(moving1)}};
function moveBack() {
cancel = moveBack1()}
function moveBack1() {
if (window.moving1) {clearTimeout(moving1)}
if ((IE && ssm2.style.pixelLeft>(-menuWidth))||(NS && document.ssm2.left>(-140))) {
if (IE) {ssm2.style.pixelLeft -= (5%menuWidth);}
if (NS) {document.ssm2.left -= (5%menuWidth);}
moving2 = setTimeout('moveBack1()', 5)}
else {clearTimeout(moving2)}};

lastY = 0;
function makeStatic(mode) {
if (IE) {winY = document.body.scrollTop;var NM=ssm2.style}
if (NS) {winY = window.pageYOffset;var NM=document.ssm2}
if (mode=="smooth") {
if ((IE||NS) && winY!=lastY) {
smooth = .2 * (winY - lastY);
if(smooth > 0) smooth = Math.ceil(smooth);
else smooth = Math.floor(smooth);
if (IE) NM.pixelTop+=smooth;
if (NS) NM.top+=smooth;
lastY = lastY+smooth;}
setTimeout('makeStatic("smooth")', 1)}
else if (mode=="advanced") {
if ((IE||NS) && winY>YOffset-staticYOffset) {
if (IE) {NM.pixelTop=winY+staticYOffset}
if (NS) {NM.top=winY+staticYOffset}}
else {
if (IE) {NM.pixelTop=YOffset}
if (NS) {NM.top=YOffset-7}}
setTimeout('makeStatic("advanced")', 1)}}

function init() {
if (IE) {
ssm2.style.pixelLeft = -menuWidth;
ssm2.style.visibility = "visible"}
else if (NS) {
document.ssm2.left = -menuWidth;
document.ssm2.visibility = "show"}
else {alert('Choose either the "smooth" or "advanced" static modes!')}}

//-->
</SCRIPT>
<STYLE>
A.ssm2Items:link {color:black;text-decoration:none;}
A.ssm2Items:hover {color:black;text-decoration:none;}
A.ssm2Items:active {color:black;text-decoration:none;}
A.ssm2Items:visited {color:black;text-decoration:none;}
</STYLE>
</HEAD>
<BODY bgcolor="Black" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onLoad="init()">
<script language="JavaScript1.2">
if (IE) {document.write('<DIV ID="ssm2" style="visibility:hidden;Position : Absolute ;Left : 0px ;Top : '+YOffset+'px ;Z-Index : 20;width:1px" onmouseover="moveOut()" onmouseout="moveBack()">')}
if (NS) {document.write('<LAYER visibility="hide" top="'+YOffset+'" name="ssm2" bgcolor="'+menuBGColor+'" left="0" onmouseover="moveOut()" onmouseout="moveBack()">')}
tempBar=""
for (i=0;i<barText.length;i++) {
tempBar+=barText.substring(i, i+1)+"<BR>"}
document.write('<table border="0" cellpadding="0" cellspacing="1" width="'+(menuWidth+16+2)+'" bgcolor="'+menuBGColor+'"><tr><td bgcolor="'+hdrBGColor+'" WIDTH="'+menuWidth+'"> <font face="'+hdrFontFamily+'" Size="'+hdrFontSize+'" COLOR="'+hdrFontColor+'"><b>'+menuHeader+'</b></font></td><td align="center" rowspan="100" width="16" bgcolor="'+barBGColor+'"><p align="center"><font face="'+barFontFamily+'" Size="'+barFontSize+'" COLOR="'+barFontColor+'"><B>'+tempBar+'</B></font></p></TD></tr>')
function addItem(text, link, target) {
if (!target) {target=linkTarget}
document.write('<TR><TD BGCOLOR="'+linkBGColor+'" onmouseover="bgColor=\''+linkOverBGColor+'\'" onmouseout="bgColor=\''+linkBGColor+'\'"><ILAYER><LAYER onmouseover="bgColor=\''+linkOverBGColor+'\'" onmouseout="bgColor=\''+linkBGColor+'\'" WIDTH="100%"><FONT face="'+linkFontFamily+'" Size="'+linkFontSize+'"> <A HREF="'+link+'" target="'+target+'" CLASS="ssm2Items">'+text+'</LAYER></ILAYER></TD></TR>')}
function addHdr(text) {
document.write('<tr><td bgcolor="'+hdrBGColor+'" WIDTH="140"> <font face="'+hdrFontFamily+'" Size="'+hdrFontSize+'" COLOR="'+hdrFontColor+'"><b>'+text+'</b></font></td></tr>')}

//Only edit the script between HERE

addItem('Home','buscar.htm','');
addItem('Historia','/foros/','');
addItem('Que es un firewall?','/lista.htm', '');
addItem('Ques es el Gateway?','/comentarios.htm','');
addItem('Seguridad Informatica','/contribuir.htm','');
addItem('Tipos y Ventajas de un Firewall','/lista.htm','');
addItem('S','/comentarios.htm','');
addItem('S','/contribuir.htm','');
addItem('S','/lista.htm','');
addItem('S','/comentarios.htm','');
addItem('S','/contribuir.htm','');
addHdr('Acerca del Sitio');
addItem('Presentacion','/comentarios.htm', '');
addItem('Comunicate con nosotros','mailto:[email protected]','');

// and HERE! No more!

document.write('<tr><td bgcolor="'+hdrBGColor+'"><font size="0" face="Arial"> </font></td></TR></table>')
if (IE) {document.write('</DIV>')}
if (NS) {document.write('</LAYER>')}
if ((IE||NS) && (menuIsStatic=="yes"&&staticMode)) {makeStatic(staticMode);}
</script>

Aqui viene el problema.

Lo que pasa es que quiero que cuando le de click a una de las opciones del menu me mande la pagina al frame "Ventana" que es la pagina central; el menu lo tengo en el frame "menu".

Entonces no se como puedo hacerle se que en html es con traget pero aqui en javascript ni idea, ayuda porfavor.

De antemano Gracias.

Saludos

arturion
22 de Junio del 2005
Te felicito por tu código. Da un menú muy interesante.

Ahora, hasta donde veo en el código, ese menú está en el mismo frame que la información, y hacer click ahí quitará todo de la página, hasta el menú.

Ahora, si en realidad la información está en otro frame, la bronca es que usas "href", porque en JavaScript, si quieres abrir una página usas el comando window.open('página', 'frame','características'). En donde la segunda palabra es el frame donde quieres que se abra el contenido nuevo.