Newsgroup: it.comp.lang.javascript
Titolo: Javascript e Netscape

Ciao a tutti!
Sono tre giorni che mi sto arrovellando il cervello per capire dove ho
sbagliato nel convertire le mie pagine per Netscape. Infatti io ho finora
sempre lavorato pe IE e devo dire che mi ero trovato bene, ma con Netscape
non ci salto fuori.
Vi posto il codice di una pagina tipo: passando sopra un link dovrebbero
comparire due layers nascosti e cliccando una nuova finestra contenente
un'immagine.
Ringrazio vivamente chi č in grado di dirmi dove ho sbagliato.
PS: Io uso Netscape 4.7 in Inglese su Win98
Grazie 1000
Kalle
*************************INIZIO
CODICE*******************************************************
<html>
<head>
<link rel="stylesheet" type="text/css" href="tolkien.css">
<style>
div.pre{position:absolute; top:270; left:25; visibility:hide;}
div.con{position:absolute; top:270; left:140; visibility:hide;}
</style>
<script language="JavaScript1.2"><!--
function CreaArray(n)
{
this.length = n;
for (var i = 0; i<=n; i++);
 this[i] = new Image();
return this;
}
text = new CreaArray(6)
text[0] = "Via Saccoforino"
text[1] = "Frodo Baggins"
text[2] = "Gandalf il Grigio"
text[3] = "I Cavalieri Neri"
text[4] = "Attacco a Brea"
text[5] = "Tutti Pazzi per TOLKIEN"
pre1 = document.16d
pre2 = document.4d
pre3 = document.6d
pre4 = document.19d
pre5 = document.25d
con1 = document.16c
con2 = document.4c
con3 = document.6c
con4 = document.19c
con5 = document.25c
function mon(num,pre,con)
{
window.status = text[num];
if(pre.visibility = "hide");
 pre.visibility = "show";
if(con.visibility = "hide");
 con.visibility = "show";
}
function mout(pre,con)
{
if(pre.visibility = "show");
 pre.visibility = "hide";
if(con.visibility = "show");
 con.visibility = "hide";
}
function finestra(url) {
immag=window.open(url,"","toolbar=no,directories=no,menubar=no,status=no,res
izable=yes,width=440,height=450,scrollbars=yes");
 }
window.defaultStatus= text[5]
// --></script>
</head>
<body background="pictures/sfondo1.jpg" bgcolor="#000000"
bgproperties="fixed" text="#404040">
<div style="position:absolute; top:10; left:10">Presentiamo la Contea degli
Hobbiti ed i
 Protagonisti de "Il Signore degli Anelli":</div>
<div style="position:absolute; top:95; left:150"><ul>
<li> <a href="javascript:finestra('immagini/fanta16.jpg')"
onmouseout=mout(pre1,con1)
 onmouseover="mon(0,pre1,con1); return true">Hobbiville</a></li>
<li> <a href="javascript:finestra('immagini/fanta04.jpg')"
onmouseout=mout(pre2,con2)
 onmouseover="mon(1,pre2,con2); return true">Frodo</a></li>
<li> <a href="javascript:finestra('immagini/fanta06.jpg')"
onmouseout=mout(pre3,con3)
 onmouseover="mon(2,pre3,con3); return true">Gandalf</a></li>
<li> <a href="javascript:finestra('immagini/fanta19.jpg')"
onmouseout=mout(pre4,con4)
 onmouseover="mon(3,pre4,con4); return true">I Cavalieri Neri</a></li>
<li> <a href="javascript:finestra('immagini/fanta25.jpg')"
onmouseout=mout(pre5,con5)
 onmouseover="mon(4,pre5,con5); return true">Brea</a></li></li>
</ul></div>
<div style="position:absolute; top:240; left:25;
font-size:14pt"><b>Preview:</b></div>
<div style="position:absolute; top:240; left:140;
font-size:14pt"><b>Descrizione:</b></div>
<!-----------------------------PREVIEW--------------------------------------
-->
<div class=pre id=4d><img src="immagini/fanta04p.jpg"></div>
<div class=pre id=6d><img src="immagini/fanta06p.jpg"></div>
<div class=pre id=16d><img src="immagini/fanta16p.jpg"></div>
<div class=pre id=19d><img src="immagini/fanta19p.jpg"></div>
<div class=pre id=25d><img src="immagini/fanta25p.jpg"></div>
<!-----------------------------DESCRIZIONE----------------------------------
--->
<div class=con id=4c>Frodo cammina nel bosco.<br>466 Kb.</div>
<div class=con id=6c>Un ritratto di Gandalf il Grigio.<br>316 Kb.</div>
<div class=con id=16c>Via Saccoforino ai tempi di Bilbo Baggins.<br>230
Kb.</div>
<div class=con id=19c>I Cavalieri Neri, servi dell'Oscuro.<br>34 Kb.</div>
<div class=con id=25c>I Cavalieri Neri cingono d'assedio Brea e la Locanda
del Puledro Impennato.<br>41 Kb.</div>
</body>
</html>
************************************FINE
CODICE***********************************************
--
Le mie Risorse in Rete
www.geocities.com/ilkalle
NOSPAM_...@libero.it

onmouseout=mout(pre1,con1)
NS si incazza se non metti gli apici
---
the fly on the net
il webmaster piů alto del mondo
"the devil inside" 
http://members.tripod.com/netfly
e-mail: 
net...@netbusiness.it

 NS si incazza se non metti gli apici
Ho aggiunto gli apici in questo modo:
onmouseout="mout(pre1,con1)"
e non andava; allora ho provato:
onmouseout="mout('pre1','con1')"
e non andava ancora!!!
Che fare?
Kalle
PS gli apici li ho messi in tutti i richiami a funzioni. Secondo me, NS non
mi legge per niente gli eventi onmouseover, onmouseout e onclick all'interno
del tag <a ...>. E' possibile?


del tag <a ...>. E' possibile?
No, no, stai tranquillo, Netscape li sente eccome gli eventi negli
anchor, ci mancherebbe solo questo...! ^_^;
Bisognerebbe vedere lo script, puo' darsi che il problema x Netscape
stia dentro le funzioni, e non nel loro richiamo. Considera che
Netscape e' un po' pignolo, se non sbagli anche solo una virgola
s'inalbera, mentre IE e' un po' piu' permissivo.
Cmq, nel richiamo alla funzione, prova a metterci il punto e virgola
finale:
onmouseout="mout('parametro1','parametro2');"
Inoltre dipende cosa ci devi fare con i parametri. Cosa gli stai
passando? Oggetti? Oppure ID di oggetti?
prova ad usare un po' di "alert" per debuggare le tue function su
Netscape; i vecchi metodi sono sempre i migliori. ;)
Spero di esserti stato di aiuto!
--
C'ya,
 Benjamin Reilly
  |
  |
'/|\'
\\O//
//"\\
'\ /'
________________________________________TagLine___
"Quanti Angeli danzano sulla punta di uno spillo?"

del tag <a ...>. E' possibile?
No, no, stai tranquillo, Netscape li sente eccome gli eventi negli
anchor, ci mancherebbe solo questo...! ^_^;
Bisognerebbe vedere lo script, puo' darsi che il problema x Netscape
stia dentro le funzioni, e non nel loro richiamo. Considera che
Netscape e' un po' pignolo, se non sbagli anche solo una virgola
s'inalbera, mentre IE e' un po' piu' permissivo.
Scusate... forse dico uina boiata colossal...
ma l'implementazione javascript di Netscape è casesensitive e spesso si
incrania se non lo rispetti... l'evento dovrebbe essere onMouseOut =
"mout('parametro1','parametro2')"...
il punto e virgola finale serve unicamente se nello stesso evento devi
chiamare piu' funzioni...
prova cosi'... (suggerimento stupido...)
Ciao,
Vittore
--
Posted from [194.20.95.68]
via Mailgate.ORG Server - 
http://www.mailgate.org

Ringrazio tutti per i suggerimenti che mi avete dato, ma nessuno è stato in
grado di risolvere il mio problema. La mia conclusione è dunque: boh?? :-(
Rilancio il tutto con una nuova domanda:
potete postare uno script che permetta di rendere visibile un layer nascosto
tramite l'evento onmouseon di un tag <a>, lo renda invisibile con onmouseout
e apra una nuova finestra di dimensioni prefissate con onclick?
C'è da tenere conto che in numero di layer per pagina oscilla tra i 3 e i 10
circa a seconda della pagina.
Grazie 1000 a tutti quelli che possono aiutarmi.
Kalle


e apra una nuova finestra di dimensioni prefissate con onclick?
Non mi sembra che sia un impresa impossibile... ^_^
.. Ma prima toglimi una curiosita': Dato il subject, questo script
deve funzionare *SOLO* su Netscape, o deve essere Crossbrowsing?


 deve funzionare *SOLO* su Netscape, o deve essere Crossbrowsing?
Anche a me non sembrava un'impresa impossibile.....:-(
Comunque, lo script per IE me lo sono già sviluppato facilmente da solo, mi
crea problemi solo quello per Netscape,,,,così mi interessava solo quello.
Penso che sia più istruttivo, ora che mi ci fai pensare, averne uno
crossbrowsing, magari spiegando quando il codice vale solo per uno dei due
browsers e dicendo il perchè. In questo modo può essere utile anche ad altri
nella mia situazione ;-)
Grazie 1000


Kalle
De nada, spero di esserti stato di aiuto... Per qualunque cosa sono a
disposizione..!


 Netscape. L'ho fatto on the fly, ma dovrebbe funzionare.
Così come me lo hai postato funziona perfettamente. Cercando di adattarlo ai
miei scopi, però, sono riuscito a non farlo funzionare nè con IE nè con
Netscape :-(
Come al solito Netscape sembra non accorgersi degli eventi onmouseon e
onmouseout, mentre onclick funzia egregiamente.
IE mi dà un errore che mi pare assurdo: alla riga
var cssRef=(n) ? eval('document.'+divID) :
eval('document.all.'+divID+'.style');
mi dice che manca un ';' :-((
Ti posto il codice completo della pagina in questione, così se sei gentile
da darci un'occhiata, mi faresti un gran favore!!
PS: mi spieghi come funziona
cssRef=(n) ? ... : ...
Dalle mie (scarse) conoscenze in C riconosco il confronto a?b:c, quello che
non mi torna è il primo pezzo: cssRef=(n).
Grazie 1000
Kalle
*****************inizio codice************
<html>
<head>
<link rel="stylesheet" type="text/css" href="tolkien.css">
<style>
div.pre{position:absolute; top:270; left:25; visibility:hidden;}
</style>
<script language="JavaScript"><!--
ie = (document.all) ? 1 : 0;
n = (document.layers) ? 1 : 0;
function CreaArray(n)
{
this.length = n;
for (var i = 0; i<=n; i++)
 this[i] = new Image();
return this;
}
text = new CreaArray(6);
text[0] = "Via Saccoforino";
text[1] = "Frodo Baggins";
text[2] = "Gandalf il Grigio";
text[3] = "I Cavalieri Neri";
text[4] = "Attacco a Brea";
text[5] = "Tutti Pazzi per TOLKIEN";
function visible(divID,value)
{
var strValue;
var cssRef=(n) ? eval('document.'+divID) :
eval('document.all.'+divID+'.style');
if (value) strValue=(n) ? "show":"visible";
else strValue=(n) ? "hide":"hidden";
cssRef.visibility=strValue;
if (value) window.status=text[divID];
}
function finestra(url)
{
immag=window.open(url,"","toolbar=no,directories=no,menubar=no,status=no,res
izable=yes,width=440,height=450,scrollbars=yes");
}
window.defaultStatus= text[5]
// --></script>
</head>
<body background="pictures/sfondo1.jpg" bgcolor="#000000"
bgproperties="fixed" text="#404040">
<div style="position:absolute; top:10; left:10">Presentiamo la Contea degli
Hobbiti ed i
 Protagonisti de "Il Signore degli Anelli":</div>
<div style="position:absolute; top:95; left:150"><ul>
<li> <a href="#" onclick="finestra('immagini/fanta16.jpg');"
onmouseout="visible('0',false);"
 onmouseover="visible('0',true);">Hobbiville</a></li>
<li> <a href="#" onclick="finestra('immagini/fanta04.jpg');"
onmouseout="visible('1',false);"
 onmouseover="visible('1',true);">Frodo</a></li>
<li> <a href="#" onclick="finestra('immagini/fanta06.jpg');"
onmouseout="visible('2',false);"
 onmouseover="visible('2',true);">Gandalf</a></li>
<li> <a href="#" onclick="finestra('immagini/fanta19.jpg');"
onmouseout="visible('3',false);"
 onmouseover="visible('3',true);">I Cavalieri Neri</a></li>
<li> <a href="#" onclick="finestra('immagini/fanta25.jpg');"
onmouseout="visible('4',false);"
 onmouseover="visible('4',true);">Brea</a></li>
</ul></div>
<div style="position:absolute; top:240; left:25;
font-size:14pt"><b>Preview:</b></div>
<div style="position:absolute; top:240; left:140;
font-size:14pt"><b>Descrizione:</b></div>
<!-----------------------------PREVIEW--------------------------------------
-->
<div class="pre" id="1"><img src="immagini/fanta04p.jpg"></div>
<div class="pre" id="2"><img src="immagini/fanta06p.jpg"></div>
<div class="pre" id="0"><img src="immagini/fanta16p.jpg"></div>
<div class="pre" id="3"><img src="immagini/fanta19p.jpg"></div>
<div class="pre" id="4"><img src="immagini/fanta25p.jpg"></div>
</body>
</html>
*********************fine codice************************


 <div class="pre" id="4"><img src="immagini/fanta25p.jpg"></div>
<div class="pre" id="a1"><img src="immagini/fanta04p.jpg"></div>
<div class="pre" id="a2"><img src="immagini/fanta06p.jpg"></div>
<div class="pre" id="a0"><img src="immagini/fanta16p.jpg"></div>
<div class="pre" id="a3"><img src="immagini/fanta19p.jpg"></div>
<div class="pre" id="a4"><img src="immagini/fanta25p.jpg"></div>
Ciao.
--
o------------------------------------------------o
            Gianfranco Carlotti
http://space.tin.it/io/gcarlott
 (SoloIE)
e se volete provare un [ MENUdinamico ],
http://space.tin.it/io/gcarlott/prm/GoMENU.html
 (SoloIE)
Un percorso per aprire la seconda pagina di esempio:
MENU_0 > cerca0 > ProvaLink.
I link a sfondo BLU contengono un sottomenu,
gli altri il link ad una pagina.(come esempio)
Bastano 2 righe di codice in qualsiasi pagina,e due frame.
Sono ben accetti tutti i tipi di commenti e consigli.
E' solamente una prova.
 
gica...@tin.it
o-------------------------------------------------------o
                                                   FERRARA
                                                                Italy
o-------------------------------------------------------------------------o

 if (value) strValue=(n) ? "show":"visible";
Grazie tanto Gianfranco, mi ridai fiducia in Netscape!!
Kalle


 Kalle
Mi fa piacere, visto che ho costruito quasi tutto per IE(JScript),
forse sono la persona meno adatta, comunque ho imparato molto
da questo NG, e mi sono deciso a postare qualche risposta facile
Mi piacerebbe rendere visibile il mio sito anche a NS(JavaScript),
ho appena cominciato, e mi sembra già complicatissimo,
aspetterò NS5, visto che dovrebbe avvicinarsi molto a IE.
