La Web del Programador: Comunidad de Programadores
 
    Pregunta:  3500 - ACCEDER A UNA CAPA CREADA CON JAVASCRIPT DESDE NETSCAPE
Autor:  Diego Otero
El código que aqui presento funciona perfectamente sobre Internet explorer 5. Las capas que se crean pueden ser accedidas y sus propiedades modificadas sin problemas. En cambio, Netscape visualiza mal las capas, y una vez mostradas, es imposible acceder a ellas y modificarlas, pues según "document.layers.length" el número de capas en la página es cero. Se muestran pero realmente no existen. ¿Por que ocurre esto?

código contenido en Menu.js:

numMenu=0;

function menuDesplegable() {
idMenu="dMenu"+numMenu;
this.id=idMenu;
this.creado=0;
this.elemento=new Array();
this.enlace=new Array();
this.posX=mueveX;
this.posY=mueveY;
this.visible=mostrar;
this.crear=creaMenu;
this.altura=obtenerAltura;
numMenu++;
}

function creaMenu(posX,alturaElementos) {
if(!this.creado) {
numeroElementos=this.elemento.length;
nomTabla="t"+this.id;
if(IE) finalPagina=document.body.offsetHeight-3;
if(NS) finalPagina=window.innerHeight;
document.open();
document.write("<div id=´"+this.id+"´ style=´position:absolute; left:"+posX+"px; top:0px; width:1px; height:1px; z-index:1;background-color: #FF0000; layer-background-color: #FF0000; visibility=hidden´>"+"\n");
document.write(" <table id=´"+nomTabla+"´ width=´0´ border=´1´ cellspacing=´0´ cellpadding=´0´>"+"\n");
for(i=0;i<=numeroElementos-1;i++)

  Respuesta:  Paqui rosique
para que funcione bien tienes que hacer que las etiquetas sean admitidas en todos los navegadores. Así por encima te diria que el valor height no se admite en Netscape, intenta quitarlo simplemente.

  Respuesta:  David Jimenez Calleja
El problema que tienes que es en primer lugar tienes que detectar la version del navegador que esta utilizando el usuario. Si el navegador es Netscape deberas de hacer un codigo distinto, ya que maneja las capas de forma distinta al netscape.
En cualquier caso, si necesitas ayuda con esto puedes escribiema a la direccion de mail desde la que te escribo y te facilito el codigo para estpo.