Newsgroup: it.comp.lang.javascript
Titolo: Layer netscape

Ciao a tutti.
Qualche giorno fa ho scritto su questo ng per sapere come fare ad inserire
la scritta "caricamento in corso" all'apertura di una finestra pop-up.
Gentilmente mi e' stato risposto di utilizzare i layer (che sinceramente non
avevo mai usato prima).
Allora ho provato e con I.Explorer no problem.
Con Netscape ..........
So' che i due browser gestiscono in modo diverso i layer.
Allora ho fatto uno script iniziale per riconoscere il browser e assegnarli
una variabile.
Poi ho creato la seguente funzione per invertire la visibilita':
<script language="JavaScript">
function cambia()
{
if (browser=="ie"){
document.all.layer_carica.style.visibility="hidden";
document.all.layer_app.style.visibility="visible";
       }
if (browser=="netscape"){
document.layer_carica.visibility='hidden';
document.layer_app.visibility='visible';
      }
}
</script>
dove layer_carica e layer_app sono i nomi dei 2 layer (id).
Alla fine richiamo questa funzione con <body onload="cambia();">.
L'errore che mi trova Netscape e':
document.layer_carica has no properties.
Probabilmente e' un errore banale per molti di voi, ma siccome io sono alle
prime armi (o meglio ai primi script) .......
Un saluto a tutti e grazie mille a quelli che mi risponderanno.
Bye Aviuz.


hai posizionato dinamicamente i layer??
<div id="layer_app"  style="position:absolute;">
andreotta fabiano
 WebMªster ATI POWER s.n.c.
 
andr...@atipower.it
 
http://www.atipower.it
    -new-
 
http://www.afdsoftware.freeweb.org
 
http://www.jsdir.com


Ciao atipower.
Grazie innanzitutto per avermi risposto.
Comunque ho controllato.
I layer li ho dichiarato cosi':
<div id="layer_carica" style="position:static; visibility:visible">
<div id="layer_app" style="position:absolute; left:35;
top:10;visibility:hidden">
Non so proprio cos'e' che non e' corretto.
Se ti viene in mente qualche cosa, fammelo sapere.
Grazie.
Bye Bye Aviuz.

In Netscape devi usare show al posto di visible e hide al posto di hidden.
Ciao
--
__________________
Stefano Tempesta
[Real Training]
ste...@tempesta.org
http://www.tempesta.org

 [...]
Errore di sintassi fu!
Prova:
document.layers.layer_carica.visibility='hidden';
document.layers.layer_app.visibility='visible';
ti mancava la collection (che per IE è "all").
-- 
Ciao, Riccardo
------------------------------------------------------------------------
WebMaster: ----> 
http://www.jsdir.com
 <---- (aka 
http://www.jspoint.it
)
------------------------------------------------------------------------
               Nessun traguardo è abbastanza lontano.
------------------------------------------------------------------------

 
No, va bene anche visible/hidden... provato su varie macchine/SysOp/browser.


Grazie a tutti per le risposte.
Purtroppo ho provato a fare anche come mi avete detto voi, ma porca p-----a
non funziona neanche ora.
Cambiando la collection cambia solo il messaggio di errore che diventa:
document.layers.layer_carica has no properties.
Se io lancio la pagina in questione (Netscape v. 4.5) mi viene visualizzata
in modo corretto la scritta "caricamento........". Poi quando si verifica
l'evento Onload, il nuovo layer (quello principale) mi viene visualizzato
sotto quello del caricamento in corso e mi si apre la console javascript con
il messaggio di errore sopraindicato.
Non so' proprio piu' cosa diavolo fare.
Se qualcuno di voi ha ancora voglia e passione per aiutarmi, la accetto
volentieri e ringrazio fin d'ora tutti quelli che lo faranno.
Best regards, Aviuz
HELP ME PLEASE !!! :)