Newsgroup: it.comp.lang.javascript
Titolo: niubbo (quasi) totale

salve a tutti, sono alle prime armi con javascript, ma premetto che ho una
buona conoscenza del C/C++, del Java e anche di altri linguaggi (ma
soprattutto C++, che è quello con cui principalmente lavoro).
la sintassi del javascript più o meno la conosco, se mi fate vedere degli
esempi di codice quasi sicuramente li capisco (e cmq ho già trovato dei
link su  questo linguaggio).
ora, per divertimento nostro, io e una compagnia di amici vorremmo
inserire una chat in javascript in un nostro sito internet, ma il problema
è che la pagina all'interno della quale si trova questa chat è abbastanza
pesantuccia, e vorremo evitare il refresh, che sembrerebbe necessario per
aggiornare la lista dei messaggi della chat.
io una soluzione l'avevo trovata, e consiste nell'impostare un timeout con
setTimeout: allo scadere del timeout il controllo viene passato ad una
funzione che sencondo la mia idea dovrebbe cercare un tag all'interno
della pagina (non un tag HTML, ma una parola o un codice di riferimento
che abbia il puro scopo di farsi trovare nella pagina) e dove trova il
tag, con opportune accortezze sulla sintassi, dovrebbe cancellare i
messaggi vecchi e scrivere quelli nuovi. ovviamente questo tag non è
visibile all'utente, serve solo per far trovare la lista dei messaggi allo
script, quindi lo inseriremo come commento.
credete che sia tutto fattibile? se no, esiste un'altra via o dobbiamo x
forza fare un applet? se sì invece, in che modo si può fare? si può fare
con l'oggetto document?
p.s.: ma mi spiegate come cavolo funziona l'oggetto document??? io, x fare
una prova ho scritto la seguente cosa con Blocco Note:
<script language=javascript>
function prova() {
	window.document.writeln("pippo");
	window.setTimeout("prova()", 1000);
}
prova();
</script>
poi il file l'ho salvato direttamente come html (si lo so, mancano <head>
e <body>, ma chissene, era solo una prova) e l'ho avviato nel browser;
risultato: al primo timeout la scritta "pippo" viene stampata
correttamente, e a tutti i timeout successivi il browser mi dice nella
barra di stato che si è verificato un errore nel mio script; inoltre se
vado a vedere il sorgente della pagina (quella generata dal primo timeout)
osservo con stupore che non c'è nulla tranne la scritta pippo! domanda: ma
l'oggetto document esattamente a quale documento si riferisce??? O_o
nei link che ho trovato non sono riuscto a capirlo...
in teoria non dovrebbe succedere che una nuova scritta "pippo" viene
aggiunta ogni secondo alla pagina?
ringrazio vivamente chi volesse darmi una mano, e mi scuso anticipatamente
per la lunghezza del post.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 </script>
ho provato anche con "document.writeln("pippo");" anzichè
"window.document.wirteln("pippo");", cioè omettendo la parte "window.", ma
i risultati sono stati esattamente gli stessi (credo che dipenda dal fatto
che come scopo mi trovo già all'interno dell'oggetto window, giusto?).
ho provato ad omettere window anche davanti alla chiamata setTimeout, e
anche così non cambia nulla.
grazie ancora per il vostro eventuale aiuto, saluti.


 aggiunta ogni secondo alla pagina?
Enno'.. :) Lo stream e' gia' chiuso. Guarda un po' quest'esempio:
<html>
<head>
	<script type="text/javascript">
		function goofy(){
			document.write("Overwrite..");
		}		
	</script>
</head>
<body>
	l'output stream e' ancora aperto..<br />	
	<p>
	<script type="text/javascript">
		goofy();
		goofy();
		goofy();
		goofy();
	</script>
	</p>
	.. ma se clicco su questo link, il documento verra' sovrascritto, e non
verra' aggiunto il termine<br />
	<a href="#" onclick="goofy();">call goofy</a>
</body>
</html>
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
"Questa e' una lezione difficile, ma importante: Cio' che e' stato, e cio'
che sara', non cambia cio' che e'.
Sta a te decidere poi come prendere questa cosa,se logorarsi per un passato
che non puoi cambiare, invece di prendere tutto il bene che il presente ti
offre." ()

 per le cosiddette "prove").
almeno <body>? ok, buono a sapersi... :P
[MEGASNIP]
la storia dello stream che viene chiuso e del documento che viene
sovrascritto l'ho capita tutta, anche stavolta sei stato chiarissimo.
ti ringrazio moltissimo per la risposta, e concludo di dover usare un
applet che passerò subito a realizzare (scuola mia è finita giusto oggi...
eheh!), dopodiché oggi pomeriggio me ne vado a correre :) (ma che vita
sana che faccio, 50% fisico 50% mente :) )
saluti e
bbbb   u   u   ooo   n    n  eeeee         fffff  eeeee   ssss  ttttt 
eeeee
b   b  u   u  o   o  nn   n  e             f      e      s        t    e
bbbb   u   u  o   o  n n  n  e             f      e       sss     t    e
b   b  u   u  o   o  n  n n  eeee          ffff   eeee       s    t    eeee
b   b  u   u  o   o  n   nn  e             f      e          s    t    e
bbbb    uuu    ooo   n    n  eeeee         f      eeeee  ssss     t   
eeeee
(spero che questa ASCII art sia leggibile anche col tuo newsreader)


> (spero che questa ASCII art sia leggibile anche col tuo newsreader)
uffa, dal mio non si legge! avrei dovuto usare le tabulazioni...
bisogna leggerla con un font monotype.


 p.s.: pensa che gli altri inizialmente volevano usare Flash...
Mi intrometto un attimo.
Dipende sempre da cosa devi realizzare e come, ma non e' proprio un'idea 
da scartare.

 (spero che questa ASCII art sia leggibile anche col tuo newsreader)
certo, imposto sempre font monospace. :)
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

 E con l'IFRAME posizioni la chat dove vuoi, non ci son problemi.
con l'IFRAME metto la chat dove voglio??? e faccio il refresh solo di
quello??? ottimoooooohhh, allora la soluzione è quella! :)
or dunque: cos'è un IFRAME? :)
link e spiegazioni sono ben accetti.


 da scartare.
infatti inizialmente ci hanno provato, ma loro stessi hanno visto che era
un'impresa praticamente impossibile, e quindi hanno interpellato me; io mi
sono ricordato di un certo articolo su una rivista di programmazione circa
la realizzazione di una chat in ASP, e ho provato a cimentarmi
nell'impresa facendo delle prove, ma ora ho capito come mai nel nostro
caso una chat in ASP non č una buona idea, e quindi realizzeremo l'applet.


 caso una chat in ASP non è una buona idea, e quindi realizzeremo l'applet.
Impossibile proprio non direi, anzi: da flash 5 in poi si possono fare 
tante belle cosette.
E' da prendere in considerazione perche' le versioni del flash player in 
giro sono meno di quelle di una virtual machine e soprattutto fatte 
dallo stesso produttore.
Anche la diffusione sembra parlare a vantaggio di flash, dati i recenti 
problemi legali tra ms e sun.
Chiaro che il tutto dipende dalle tue esigenze e, comunque, Flash rimane 
/"solo"/ un bello strumento e java e' un _linguaggio di programmazione_.

 link e spiegazioni sono ben accetti.
...ormai mi sono intromesso...
iframe sta per "inline frame".
In parole poverissime puoi inserire documenti html all'interno di altri.
Il vantaggio che ne trarrai e' quello di poter cambiare il contenuto 
dell'iframe senza muoverti dal documento principale che lo contiene.
Delucidazioni approfondite:
http://www.w3.org/TR/html4/present/frames.html#h-16.5

 
http://www.w3.org/TR/html4/present/frames.html#h-16.5
grazie per la spiegazione e per il link :)
cmq un'idea me l'ero già fatta guardando la guida di F... ops, mi sa che
non devo dirlo, sennò mi danno dell'assatanato ^_^
