Newsgroup: it.comp.lang.javascript
Titolo: Scrivere file con javascript

Salve a tutti,
sapreste dirmi come posso fare a scrivere un file .txt (o qualsiasi
altro formato) con javascript?
La creazione del file non dovrebbe comportare output ma soltanto
salvare un file sul server dove viene eseguito il sito (e non sulla
macchina dell'utente).
Grazie mille

 macchina dell'utente).
allora devi usare la tecnologia server-side che hai a disposizione,
javascript non centra nulla (se non al limite tramite xmlhttp chiamare la
pagina server-side senza ricaricare, ma è solo una piccolissima parte
accessoria)
-- 
"Run rabbit run
 dig that hole, forget the sun
 and when at last the work is done
 don't sit down, it's time to dig another one"
									    P.F.

Javascript è un linguaggio di scripting lato client e non lato server.
Per fare quello che devi fare devi usare un linguaggio lato server:
PHP, Java, 
ASP.NET
, Perl, ecc...
Hola, Himgi

in pratica l'unico modo è tramite php...
Il problema è che devo creare la agina quando un altra viene chiusa e
con php è impossibile...

 con php è impossibile...
E gia', e questo e' impossibile anche in un eventuale intranet (dove
normalmente abbassando un livello qui e uno li, si riesce a fare un po'
tutto)
Questo e' dovuto alla tecnologia server-client dell HTTP...



hai già provato, client-side, ad associare una funzione window.open
all'avanto onunload del body?
Io usavo questo sistema, tempo fa, per azzerare le variabili session di ASP
;)
Ciao,
Davide

 ha scritto:

Con i popup-blocker non credo che funzionerebbe a dovere... si potrebbe
usare la tecnica dell'immagine:
window.onunload=function() {
  var i=new Image();
  i.src="/path/creapagina.php";
}
e nello script creapagina.php si compiono tutte le operazioni che si vuole.
Credo che funzioni ma non ho mai provato :)
-- 
Nando [?]
Apostolo della Prova

 }
Dato che la richiesta viene fatta in GET, è bene evitare il caching
della risorsa; ad esempio tramite il classico accodamento del timestamp.
Qualcosa tipo:
        i.src = "/path/creapagina.php?ts="+(new Date()).getTime();
-- 
Avviso su un cassonetto dell'immondizia a Firenze:
"Il sudicio va messo dentro"
Sotto, aggiunto a penna:
"volentieri, ma Silvio non si fa arrestare."

Ok, ma una volta inserita l'immagine e tutto il resto... come faccio a
capire che ha cambiato pagina o peggio, che è uscito dal sito?

 capire che ha cambiato pagina o peggio, che è uscito dal sito?
Ma hai letto le risposte che ti hanno dato Bearseeker e Nando?
La richiesta dell'immagine la devi utilizzare nell'evento onunload.
Comunque se cerchi su web o negli archivi di questo NG, troverai un bel po'
di argomenti correllati a questa tua problematica.
-- 
~ "When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

 capire che ha cambiato pagina o peggio, che è uscito dal sito?
Riprendiamo il codice:
window.onunload=function() {
  var i=new Image();
  i.src="/path/creapagina.php?ts="+(new Date()).getTime();
}
a) queste righe vengono eseguite quando viene scatenato l'evento *unload*
della pagina, quindi quando l'utente cambia pagina o la chiude
b) nessuna immagine viene "inserita" ma, semplicemente, viene creato un
oggetto immagine e alla sua proprietà src viene assegnata una url
c) assegnando una url alla proprietà src, si forza il browser ad effettuare
una richiesta al server per quella url, il che comporta che il server
elabori lo script: non ha importanza che lo script "restituisca"
un'immagine, la cosa importante è che lo script creapagina.php viene
eseguito; è come se facessi una window.open("/path/creapagina.php"), con la
differenza che non viene aperta alcuna finestra e che allo script
creapagina.php non viene richiesto di fornire alcun output html da
visualizzare
d) nello script creapagina.php puoi fare le operazioni che vuoi: salvare un
documento di testo sul server, chiudere la sessione e quant'altro ti
occorra fare


 della pagina, quindi quando l'utente cambia pagina o la chiude
l'evento un load non è valido solo per il caricamento?
e comunue io dovrei separa le due cose...  una pagina all'ingresso e
una all'uscita...
grazie

 una all'uscita...
window.onload=function() {
  // Eseguita quando la pagina viene caricata
  var i=new Image();
  i.src="/path/entrata.php?ts="+(new Date()).getTime();
}
window.onunload=function() {
  // Eseguita quando la pagina viene abbandonata
  var i=new Image();
  i.src="/path/uscita.php?ts="+(new Date()).getTime();
