Foros del Web » Programando para Internet » Javascript »

Capas anidadas en Netscape 4

Estas en el tema de Capas anidadas en Netscape 4 en el foro de Javascript en Foros del Web. Hola a todos, necesito la ayuda de un maestro JavaScript Resulta que estoy desarrollando un miniscript y me he encontrado con un muro de esos ...
  #1 (permalink)  
Antiguo 04/06/2003, 17:24
Avatar de Kernellover  
Fecha de Ingreso: noviembre-2002
Ubicación: Perdido
Mensajes: 251
Antigüedad: 22 años, 1 mes
Puntos: 0
Pregunta Capas anidadas en Netscape 4

Hola a todos, necesito la ayuda de un maestro JavaScript

Resulta que estoy desarrollando un miniscript y me he encontrado con un muro de esos dificiles de salvar debido a mi inexperiencia como programador JavaScript, aun con todo me defiendo un poco... que conste que quiero aprender.

Estoy desarrollando el siguiente código para netscape 4 o superior para escrivir el contenido de una variable dentro de una capa del tipo:
<div id=menu></div>

Con este código funciona perfectamente para netscape.

Código PHP:
var menucontenido="bla bla bla";
if (
document.layers) {    // Netscape 4
 
document.menu.document.write(menucontenido);
    
document.menu.document.close();

Hasta aquí no hay problema, pero se me plantea la necesidad de usar capas anidadas, es decir una dentro de otra, el problema es que al tratar de escribir en una de las capas anidadas, no me la reconoce y por lo tanto no me actua como quisiera. El código html es este:
<div id="ContMenu"><div id="menu"> </div></div>

He provado el mismo código y no funciona, lo he intentado de varias formas, pero necesito ayuda, pues resulta que se me acabanlas ideas para resolver el problema ...

Código PHP:
var menucontenido="bla bla bla";// No funciona ni de coña
if (document.layers) {
    
document.menu.document.write(menucontenido);
    
document.menu.document.close();

Código PHP:
var menucontenido="bla bla bla";// No funciona tampoco
if (document.layers) {
    
document.ContMenu.document.menu.document.write(menucontenido);
    
document.ContMenu.document.menu.document.close();

He localizado una propiedad que no se que hace bien bien, pero creo que tiene relación, es "parentLayer" pero no se como puedo usarla.

Voy bien encaminado? Alguien sabe si es posible hacer lo que he expuesto en la explicación? o por el contrario es totalmente imposible para netscape 4, de echo tampoco funciona con versiones posteriores de netscape...

Gracias adelantadas a todos los expertos en el tema.

Suerte a todos!
  #2 (permalink)  
Antiguo 05/06/2003, 05:04
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 23 años, 2 meses
Puntos: 5
Has probado con

document.ContMenu.menu.write(menucontenido); ?
  #3 (permalink)  
Antiguo 05/06/2003, 15:39
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 23 años
Puntos: 7
Kernellover:

Tu sintaxis es perfectamente adecuada para NS4, pero como te habrás deado ya cuenta, se trata de un browser un tanto melindroso.
No sé porque te funcionó el primer código, pero supongo que es porque antes de ese punto, estableces alguna propiedad a la capa que quieres modificar, o bien, tienes definido un estilo que establece propiedades a dicha capa.
El siguiente código, era la forma típica para que una etiqueta <div> se comportara para NS4 como una etiqueta <layer>.
Código:
<HTML>
<HEAD>
<TITLE></TITLE>
<SCRIPT>
function capa(){
   var menucontenido="bla bla bla";
   if (document.layers) {
      document.ContMenu.document.menu.document.write(menucontenido);
      document.ContMenu.document.menu.document.close();
   }
}

</SCRIPT>
<STYLE TYPE="text/css">
<!--
#ContMenu {position:absolute;}
#menu {position:absolute; width:100; height:20; clip:rect(0,100,20,0);}
-->
</STYLE>
</HEAD>
<BODY>
<a href="javascript:capa()">Escribir</a>
<div id="ContMenu"><div id="menu"></div></div>
</BODY>
</HTML>
Como podrás ver, escribo a una capa dentro de otra capa sin mayor problema...
Recuerdo que sólo podías trabajar con aquellas capas que tenían una posición absoluta... Prueba poniendo en el estilo una posición relativa, y probablemente no pasará lo que esperas de la función... Además de que algunas versiones de NS4, tenían bugs que otras versiones no tenían... En fin... Si tu código es sólo para NS4, podrías usar en lugar de <div> la etiqueta <layer>...

Saludos.
  #4 (permalink)  
Antiguo 05/06/2003, 17:12
Avatar de Kernellover  
Fecha de Ingreso: noviembre-2002
Ubicación: Perdido
Mensajes: 251
Antigüedad: 22 años, 1 mes
Puntos: 0
Muchas gracias a todos, sois todos unos expertos en el tema!

:) Suerte!
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 19:43.