Newsgroup: it.comp.lang.javascript
Titolo: netscape e tabelle dinamiche

 Maledettissimo netscape 4.5... :-7
Di quello che potrebbe essere realmente utile supporta (o sopporta?) poco e
niente.
Il problema e' questo. Devo creare una tabella creata dinamicamente (tramite
un link ad esempio) che deve essere inserita nella cella centrale della
tabella principale della pagina. Il codice per IE4 e superiori non e' nulla
di speciale e funziona bene, ovvero:
*********************************
<html>
<head>
<title>dynamic TaB</title>
</head>
<script language="javascript">
     function crea_tab(){
      var cella="centro"
      document.all[cella].innerHTML=
         '<table border="1" width="100%" cellspacing="0"
cellpadding="0"><tr>'+
         '<td width="25%">&nbsp;</td>'+
         '<td width="25%">&nbsp;</td>'+
         '<td width="25%">&nbsp;</td>'+
         '<td width="25%">&nbsp;</td></tr</table>'
        }
</script>
<body>
<table border="0" width="895" cellspacing="0" cellpadding="0">
  <tr>
    <td width="167" valign="top" bgcolor="#FF3300">
    <a href="javascript:crea_tab()" target="_self">crea tabella</a>
    </td>
    <td id="centro" width="435" valign="top">
     questa e' la parte centrale ella tabella
    </td>
    <td width="271" valign="top" bgcolor="#FF3300">
        Questa e' una tabella di prova per i link che richiamano le tabelle
generate
        dinamicamente ed inserire in una pagina dentro una cella specificata
    </td>
  </tr>
</table>
</body>
</html>
*********************************
In ie funziona, in Netscape (ovviamente non utilizzando
"document.all[dove].innerHTML" ma istruzioni come ad esempio
"document.write" ecc...) neanche a parlarne. E' ovvio che sbaglio in
qualcosa, non inquadro la proprieta', l'oggetto giusto o chissa' che altro.
Chi puo' darmi una mano?
grazie a tutti
xxx

 [... snip codice ...]
La risposta è semplice, anche se non ti piacerà, per certi versi: IE si 
comporta male. Il funzionamento di NN è quello logicamente corretto.
In pratica tu cliccando sul link sostituisci il contenuto della cella "centro".
Ma per far questo modifichi il documento corrente (la pagina HTML).
E' qui l'errore: dato che la pagina è stata caricata il documento è chiuso, 
quindi non può più essere modificato a meno di ricaricare l'intera pagina.
Explorer invece modifica al volo un documento già chiuso, è una 
personalizzazione come tante altre di IE, ed anche se è una cosa bella e utile 
resta "politically incorrect".
In conclusione, continua pure a fare il sito, ma sarà compatibile solo con IE.
-- 
Ciao, Riccardo
------------------------------------------------------------------------
WebMaster: ----> 
http://www.jsdir.com
 <---- (aka 
http://www.jspoint.it
)
              All the JavaScript you need
------------------------------------------------------------------------
               Nessun traguardo è abbastanza lontano.
------------------------------------------------------------------------


innerHTML funziona correttamente con IE e anche con NN6 se richiamato
chiaramente non con document.all ma con document.getElementById.....
l'unico modo di scrivere dinamicamente con NN4 in un documento caricato ,
è riscrivendo in un layer il contenuto che ti interessa.....
P.S. Attento a parlar male di NN4 con Riccardo che è un difensore assiduo di
tale browser :-))))))
--
andreotta fabiano
WebMªster ATI POWER s.n.c.
andr...@atipower.it
http://www.aticommerce.com
  (new)
http://www.atipower.it
http://www.jsdir.com
http://www.dxml.it
  (u.c.)


Il fatto che IE sia largo di maniche e' cosa risaputa. Non sono d'accordo
pero' sulla filosofia del documento chiuso. E' proprio qui la bellezza di un
linguaggio, di uno pseudolinguaggio o di un linguaggio di script: rendere
dinamico quello che non lo e'. Se non si puo' interagire con un oggetto
tanto vale rimanere (re)legati al (buon?) vecchio HTML prima versione e
scrivere semplici pagine statiche e insostituibili se non caricando un nuovo
documento scritto all'uopo.
Ben vengano comunque istruzioni in grado di semplificare la vita. D'altronde
non e' detto che le decisioni di un comitato di standardizzazione debbano
essere sempre e unicamente "politically incorrect".
Comunque grazie lo stesso per la chiaccherata. Vorra' dire che usero' le
layer che NN gestisce cosi' "bene"...  &-{]
xxx

 tale browser :-))))))
Perché ne esistono di altri? :-)))



Le layer le avevo gia' considerate, l'ho provate ma, sinceramente, mi hanno
un po' deluso...
Per renderle maggiormente efficaci vorrei sapere come rilevare le dimensioni
di una tabella (o cella) e che sia, naturalmente, compatibile con entrambi i
browser.
chiedo troppo eh?!?
X Riccardo: per quanto riguarda i browser tanto varrebbe allora restare a
linx


Le layer le avevo gia' considerate, l'ho provate ma, sinceramente, mi hanno


 resta "politically incorrect".
Però è vero che la possibilità di modificare dinamicamente il contenuto
della pagina è una notevole comodità.
Per imparare il DHTML, però, sto impostando un semplice menù a cartelle
(l'ennesimo!) e lo sto facendo proprio su Netscape (4.7): perchè Netscape
(che alcuni danno al 15 per cento di presenze mondiali) tutto sommato non è
ancora morto e perchè, personalmente, lo trovo più romantico e legato a una
concezione di fare programmi magari meno "moderna" ma senz'altro più
formativa rispetto alla (relativa) "pappa fatta" del DOM di IE.
Oh, pensatela come vi pare, ma io su Netscape mi diverto di più a imparare e
a farmi del male .... Anzi, sono così pervertito che, nonostante tutto,
l'impossibilità di poter usare dinamicamente l'attributo "display" su NS io
la considero una sfida eccitante :))
_ciao !_
Roberto

 linx
