Foros del Web » Programando para Internet » Javascript »

codigo a NS

Estas en el tema de codigo a NS en el foro de Javascript en Foros del Web. Ya lo siento, se que no debo pedir dudas de esto, ya que no es una duda pero bueno. Como ayudo mucho a todo el ...
  #1 (permalink)  
Antiguo 16/04/2004, 17:16
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
codigo a NS

Ya lo siento, se que no debo pedir dudas de esto, ya que no es una duda pero bueno. Como ayudo mucho a todo el foro y eso espero que alguien me conteteste por caridad...

Tengo este codigo y en NS no me funciona, y queria saber qué es lo que falla y cómo seria lo correcto para que funcionase. En portabilidad soy muy malo

Código PHP:
                    botones=document.getElementById("contenedorDeBotones").childNodes;
                    for(
a=0;a<botones.length;a++) {
                        if(
botones[a].tagName=="DIV"botones[a].onclick=function() { 
                            
enlace=document.createElement("a");
                            
enlace.href=this.direccion;
                            
document.body.appendChild(enlace);
                            
enlace.click();
                        }
                    } 

Muchas gracias por vuestra ayuda incondicional.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #2 (permalink)  
Antiguo 17/04/2004, 18:22
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Bueno, nadie programa para NS?
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.

Última edición por derkenuke; 17/04/2004 a las 18:24
  #3 (permalink)  
Antiguo 18/04/2004, 03:10
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola, derkenuke.

¿Que es lo que quieres hacer y no te sale? Podrías poner el código completo, al menos los elementos que se usan en el código.

Saludos,
  #4 (permalink)  
Antiguo 18/04/2004, 08:24
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
fallo mio

Es verdad, perdon, tenia que haber puesto un poco mas de codigo. Lo que pretendo hacer es que me funcione en el explorer y en netscape, y no se porque solo me funciona en IE. Ademas lo he hecho con DOM para no tener problemas y...

Código PHP:
                <div class="bordeH" style="padding-left:15px; background-position:top;" id="contenedorDeBotones">        
                    <
p><font size="10" face="Verdana"><b>derkeNuke's webLog</b></font></p>
                    <p style="margin-bottom:-10px; border:1px solid black;">
                        <div class="menu_boton_normal" direccion="index.php" onmouseover="this.className='
menu_boton_hover';" onmouseout="this.className='menu_boton_normal';" onmousedown="this.className='menu_boton_click';" onmouseup="this.className='menu_boton_hover';">home</div>
                        <div class="menu_boton_normal" direccion="archivo.php" onmouseover="this.className='
menu_boton_hover';" onmouseout="this.className='menu_boton_normal';" onmousedown="this.className='menu_boton_click';" onmouseup="this.className='menu_boton_hover';">archivo</div>
                        <div class="menu_boton_normal" direccion="acercaDe.php" onmouseover="this.className='
menu_boton_hover';" onmouseout="this.className='menu_boton_normal';" onmousedown="this.className='menu_boton_click';" onmouseup="this.className='menu_boton_hover';">acerca de</div>
                        <div class="menu_boton_normal" direccion="contacta.php" onmouseover="this.className='
menu_boton_hover';" onmouseout="this.className='menu_boton_normal';" onmousedown="this.className='menu_boton_click';" onmouseup="this.className='menu_boton_hover;">contacta</div>
                    </p>
                </div>

                <script language="
javascript">
                    botones=document.getElementById("
contenedorDeBotones").childNodes;
                    for(a=0;a<botones.length;a++) {
                        if(botones[a].tagName=="
DIV") botones[a].onclick=function() { 
                            enlace=document.createElement("
a");
                            enlace.href=this.direccion;
                            document.body.appendChild(enlace);
                            enlace.click();
                        }
                    }
                </script> 

Asi estaria completo para probarlo, bueno falta el css, por si alguien le interesa:

Código PHP:
<style>
div.menu_boton_normal {
    
float:leftposition:relative;
    
font-family:Verdana;
    
font-size:10pxtext-align:center;
    
background-color:#f93;
    
border:solid 1px black;
    
border-right:solid 2px black;
    
border-bottom:solid 2px black;
    
width:70pxheight:14px;
    
margin:4px 0px 0px 15px;
    
cursor:hand;
    
cursor:pointer;
    
font-variant:small-caps;    /*versales*/
}
div.menu_boton_click {
    
float:leftposition:relative;
    
font-family:Verdana;
    
font-size:10pxtext-align:center;
    
background-color:#E06001;
    
border:solid 1px black;
    
border-left:solid 2px black;
    
border-top:solid 2px black;
    
width:70pxheight:14px;
    
margin:4px 0px 0px 15px;
    
cursor:hand;
    
cursor:pointer;
    
font-variant:small-caps;    /*versales*/
}
div.menu_boton_hover {
    
float:leftposition:relative;
    
font-family:Verdana;
    
font-size:10pxtext-align:center;
    
background-color:#F60;
    
border:solid 1px black;
    
border-right:solid 2px black;
    
border-bottom:solid 2px black;
    
width:70pxheight:14px;
    
margin:4px 0px 0px 15px;
    
cursor:hand;
    
cursor:pointer;
    
font-variant:small-caps;    /*versales*/
}
</
style


Listo, ya esta todo. Pues eso, que no me funciona en NS, y no se porque.

__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #5 (permalink)  
Antiguo 18/04/2004, 16:08
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola derkenuke:

Si no me equivoco, el método click en explorer simula el evento onclick... ... pero click no existe en Netscape/Mozilla, aunque puedes usar cualquier método que tu mismo inventes, definiéndolo de la misma manera...

Traté de ver la intención de tu código y no lo tengo muy claro...

Por lo que veo, por cada elemento que hay dentro del contenedor se genera un evento onclick...
Ese evento genera un tag a que se debe activar...

No te interesa más hacer un enlace más directo (usando location.href)...

O no me llegué a enterar de tus intenciones (algo rebuscadas...)

Saludos
  #6 (permalink)  
Antiguo 18/04/2004, 16:57
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Bien, lo he sustituido con un location.href:

Código PHP:
                    botones=document.getElementById("contenedorDeBotones").childNodes;
                    for(
a=0;a<botones.length;a++) {
                        if(
botones[a].tagName=="DIV"botones[a].onclick=function() { 
                            
self.location.href=this.direccion;
                        }
                    } 
Aunque de nuevo en IE va bien, y en NS no funciona. this.direccion es igual a undefined. Supongo que esto sera porque en NS no te puedes inventar atributos. ¿Hay alguna forma de solucionarlo? Lo unico que se me ocurre es poner un switch y segun el innerText del elemento actual, ir a una pagina o a otra.

Gracias por la ayuda.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
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 03:11.