Newsgroup: it.comp.lang.javascript
Titolo: Aiuto, affogo in Netscape e nelle sue complicazioni

Decisamente Netscape 4 non lo capisco!
Mi spiego:
Uso il seguente codice per generare dei Layer da poi far visualizzare al
browser come menu. La funzione DrawMenu() viene richiamata prima che il
caricamento della pagina sia completa e dovrebbe generare (teoricamente) una
serie infinita di layer. Il fatto č che, se il primo layer viene generato in
modo corretto e si comporta come aspettato, quando cerco di generare il
secondo sotto Netscape Navigator 4 al momneto che il codice viene
implementato nella pagina (document.write(HtmlCodeM);) il browser si blocca!
Ho provato anche a far generare tutti i menu necessari con una sola chiamata
alla funzione DrawMenu() introducendo un cliclo e facendo scrivere il codice
risultante solo una volta, ma č tutto iutile: uno sě, due no!
HELP!
Luca
---Codice---
var mnText = new Array();
var mnUrl = new Array();
mnText[0]="First item";
mnUrl[0]="first.htm";
mnText[1]="This is the second one";
mnUrl[1]="second.htm";
mnText[2]="Third";
mnUrl[2]="third.htm";
function DrawMenu(menuid){
  var HtmlCodeM= "";
  var i;
  //layer's hiegh
  var high = mnText.length * 19.5;
  //width var
  var wdh = 0;
  for (i=0; i<mnText.length; i++){
    //max width
    if (mnText[i].length > wdh){wdh = mnText[i].length;}
    HtmlCodeM = HtmlCodeM + "<tr><td><font face='Arial, Helvetica,
sans-serif' size='1' color='#000066'><a href='" + mnUrl[i]+ ">" +
                mnText[i] + "</a></font></td></tr>";
  }
  //gets the layer's width
  wdh = wdh * 5 + 15;
  //layer width control
  if (wdh > 280){wdh = 280;}
  HtmlCodeM = "<div id='Layer"+menuid+"' style='visibility:show'> <span
style='position:absolute; left:295px; top:104px; width:" + wdh + "px;
height:" + high + "px; z-index:1; background-color: #FFCC33;
layer-background-color: #FFCC33; border: 1px none #000000'>" +
              "<table width='100%' border='0' height='100%'>" + HtmlCodeM +
"</table></span></div>";
  document.write(HtmlCodeM);
}
DrawMenu(1)
DrawMenu(2)

...


 ...
Quale versione di Netscape hai? Te lo chiedo perché con il mio (v. 4.74) e
con Windows 2000 continua a non funzionare.
In passato avevo notato che Netscape ha grosse difficoltà quando nel tag
(SPAN e DIV in questo caso) vi è l'attributo STYLE, almeno quando questo tag
viene gestito da javascript con l'istruzione document.write(). Qualche volta
si impiccia talmente che è necessario chiudere netscape con il task manager.
Segno di questa difficoltà è che (anche quando si crea un solo menù),
andando a vedere il sorgente html, si trova, alle fine del normale codice
html che ci aspettavamo, qualcosa di incomprensibile come questo:
    <span TTYLE='...'>
TTYLE e non STYLE.
Il questo caso ho sostituito l'attributo STYLE con CLASS, dopo aver definito
un apposito foglio di stile, e tutto ha funzionato correttamente.
Capita solo a me?
Maurizio.

 [.... IPER-MEGA-SNIPPPP!!!! ....]
Adesso che ti rileggo mi ricordo... che mi ero dimenticato... :-)
Prometto di dare un'occhiata al tuo script, ma ti assicuro che č inutile 
assillare il NG con tre richieste nello stesso giorno.
Postare lo stesso messaggio alle 13:58, alle 13:12 e alle 13:34 non ti 
garantisce la risposta, questo č un NG, non una chat :-)))
-- 
Ciao, Riccardo
------------------------------------------------------------------------
WebMaster: ----> 
http://www.jsdir.com
 <---- (aka 
http://www.jspoint.it
)
              All the JavaScript you need
------------------------------------------------------------------------
               Nessun traguardo č abbastanza lontano.
------------------------------------------------------------------------