View Full Version : [javascript] controllare modifica di un file XML
soundsgood
18-05-2010, 11:10
ciao ragazzi,
mi serve il vostro consiglio.
Ci sta un sito web che visualizza delle informazioni prese da un file xml. Questo file xml ogni tanto viene sovrascritto. Vorrei che se la pagina è visualizzata su qualche browser avvenga il refresh nel momento in cui ci sono dei cambiamenti del file. Esiste un modo, evitando timer che leggano ogni tanto il file xml, per cui solo quando il file xml è sovrascritto, si genera un evento che richiama una funzione javascript che ricarica la pagina? Oppure qualsiasi altro metodo che eviti un controllo con timer del file xml?
No.
Il refresh della pagina non può essere in alcun modo comandato dal server.
ciao ragazzi,
mi serve il vostro consiglio.
Ci sta un sito web che visualizza delle informazioni prese da un file xml. Questo file xml ogni tanto viene sovrascritto. Vorrei che se la pagina è visualizzata su qualche browser avvenga il refresh nel momento in cui ci sono dei cambiamenti del file. Esiste un modo, evitando timer che leggano ogni tanto il file xml, per cui solo quando il file xml è sovrascritto, si genera un evento che richiama una funzione javascript che ricarica la pagina? Oppure qualsiasi altro metodo che eviti un controllo con timer del file xml?
ammazza e da due mesi che sbatti la testa co sta cosa :p :D
| |
v v
http://www.hwupgrade.it/forum/showthread.php?t=2165464
io ti do lo stesso consiglio : ti fai un listener sulla cartella coi xml (http://java.sun.com/docs/books/tutorial/essential/io/notification.html#try) ed ogni volta che rilevi una modifica avverti i vari client.
soundsgood
20-05-2010, 11:39
diciamo che avevo risolto con un socket multicast, nella parte di codice che scriveva l'xml veniva aggiunto l'invio di un messaggio al socket multicast.
Poi ho aggiunto una applet invisibile nella pagina la quale rimaneva in ascolto sul socket multicast e dava il comando di refresh della pagina. Tutto questo in locale funzionava bene. Pero visto che le applet non si utilizzano piu e davano tra l'altro vari fastidi con javascript cercavo un'altra soluzione.
forse il timer è l'unica cosa.. :)
soundsgood
20-05-2010, 12:03
sto pensando qualcosa
soundsgood
20-05-2010, 12:04
vorrei utilizzare un timer e javascript..
esiste un modo per leggere da javascript un attributo dell'oggetto session di una jsp?
in pratica mi serve una funzione javascript che aggiorna ogni n secondi il contenuto della pagina in base alla pagina in cui si trova chi naviga. La pagine che l'untente naviga potrebbe essere memorizzata di volta in volta nell'oggetto session della jsp.
Non so se javascript puo risalire ogni volta durante il caricamento della pagina all'attributo di session dove è memorizzato che pagina si sta navigando.
voglio evitare il refresh perche sto usando le load()
Questo, in JavaScript non è un problema: una chiamata AJAX e passa tutto. Il vero problema è rendere disponibile la pagina generata con JSP.
esiste un modo per leggere da javascript un attributo dell'oggetto session di una jsp?
javascript è lato client , javax.servlet.HttpSession è lato server quindi non esiste un modo diretto x leggerla .Uno dei modi x valorizzare una variabile javascript con un valore della session e all'onload della pagina
<script>
var variabile = <%=sessione.getAttribute("ilMioFantasticoValore")%>
</script>
oppure tramite una chiamata ajax
se usi dojo potresti fare cosi:
var miaFantasicaVariabile;
function cercaInSession() {
dojo.xhrGet( {
url: "/myFantasticUrl",
handleAs: "text",
content: {/* valori da inviare al server in formato json */} ,
timeout: 5000,
load: function(response, ioArgs) {
miaFantasicaVariabile = response;
return response;
},
error: function(response, ioArgs) {
return response;
}
}
);
}
nuovoUtente86
20-05-2010, 13:13
L' http push server può risolvere il tuo problema.
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.