Newsgroup: it.comp.lang.javascript
Titolo: document.write(), questa sconosciuta :-/

Ciao a tutti,
ho un piccolo grosso problema con la funziona document.write(), o
almeno penso che il problema sia dovuto a lei. Ho una pagina
in cui uno script scrive l'ora corrente (le funzioni che uso sono 
in fondo al messaggio). La chiamata, all'interno del documento,
e' fatta da:
<script language="javascript" >
	data();
	document.write(', ore '); 
	ora();
</script>
ma quando vado a visualizzare il sorgente dellla pagina con 
Netscape (4.7) ottengo questo simpatico risultato:
<script language="javascript" >
        data();
        document.write(', ore '); 
        oGiovedi 25 Maggio 2000, ore 17:01
La visualizzazione del documento e' comunque corretta, a parte il
piccolo ma non indifferente problema che se vado a modificare 
la dimensione dei font (CTRL+], CTRL+[) la pagina non viene
piu' riscritta (cosa che inizialmente avevo attribuito ad un bug
di Netscape). La pagina viene invece visualizzata correttamente 
da IE 5. 
Qualcuno ha qualche idea su quale possa essere la causa di questo 
effetto? Magari c'e' qualche cosa che dovrei sapere per usare 
correttamente document.write()!
	Grazie mille a tutti,
	Massimiliano
PS: ecco il codice delle funzioni data() e ora(): 
*****************************************************************
function data()
{
        var prova = new Date();
 
        var day_of_the_week = prova.getDay();
        var check = checkOS();
        if (check == "Macintosh") {
                day_of_the_week -= 1
        }
        var day = prova.getDate();
        var month = prova.getMonth()+1;
        var year = prova.getYear();
        if ( year < 1000 ) 
                year += 1900;   
        weekly = new Array("Sabato", "Domenica", "Lunedi", "Martedi", "Mercoledi", 
                        "Giovedi", "Venerdi", "Sabato", "Domenica");
        monthly = new Array ("Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", 
                        "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", 
                        "Novembre", "Dicembre");
        date = weekly[day_of_the_week+1]+' '+day+' '+monthly[month-1]+' '+year;
        document.write(date);
        return true;
}
function ora()
{
        var prova = new Date();
        var hour = prova.getHours();
        var min = prova.getMinutes();
        var sec = prova.getSeconds();
        var timeValue = hour;
        timeValue  += ((min < 10) ? ":0" : ":") + min;
        document.write(timeValue);
        return true;
}
// fix mac version communicator bug
function checkOS() {
         if (navigator.appVersion.indexOf("Mac") > 0) return "Macintosh";
         else return "other";
}
*****************************************************************
--
Posted from 
laguna.tiscalinet.it
 [195.130.224.86] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

         oGiovedi 25 Maggio 2000, ore 17:01
Per quanto riguarda il cambio delle dimensioni del carattere non so che
dirti, per quanto riguarda la creazione onthefly di codice html generato da
javascript, netscape si comporta cosě, mostrando sempre il codice originale
(cosa che detesto), sia per la finestra corrente che per un document.writeln
riferito ad una pagina nuova o un popup...
--
ciauz
Maurizio Berti
jid...@goldrake.com
http://www.jidesk.cjb.net
Disse il saggio: muuuuuuuuh!

 >         oGiovedi 25 Maggio 2000, ore 17:01
           ^^^ 
           |||
La "o" e' l'inizio della chiamata alla funziona ora(), mentre il testo
da "Giovedi" in poi e' il risultato del piccolo script. E la cosa
si ripete praticamente un po' ovunque nel documento; ogni qual volta
che usio document.write(), Netscape visualizza parte dello Script originale e
parte del suo risultato :-/
Non so che pesci prendere :-((( Grazie comunque.
	Ciao,
	Massimiliano
