Newsgroup: it.comp.www.php
Titolo: cache e chiusura del browser

Ciao,
 
un paio di domande sulla gestione del colloqui con il browser.
 
1) Sto lavorando ad una applicazione con il framework javascript extjs la
quale applicazione � in costante aggiornamento. come posso ovviare al
fatto che ogni volta che modifico il javascript devo far cancellare la
cache del browser all'utente altrimenti  non vede le modifiche?
 
2) Ho un bel tasto di logout che gli utenti ovviamente non utlizzano. Al
logout per� devo fare una serie di attivit�: posso in qualche modo
interccettare la chiusura che l'utente fa con la "maledetta" X rossa di
explorer? Oppure ho altre possibilit�? 
 
Grazie
ConteZero
 
-- 
 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it
 
 
 

 explorer? Oppure ho altre possibilità?
 
Come primo palliativo puoi usare qualcosa del genere (non so se funziona, 
di solito lo faccio in jQuery):
 
document.onunload(function() { ... });
 
Ma prevederei anche una cosa lato server, richiamata in cron o simile, 
che verifica se l'utente non fa niente per piu` di tot tempo (o se la sua 
sessione e` sparita), e a quel punto fa le operazioni che servono.
 
Bye.

extjs... brrr....


 <script src="script.js?t=<?php echo filemtime('script.js'); ?>"></script> 
 
ottimo metodo, io usavo
<script src="script.js?t=<?php echo uniqid(); ?>"></script> 
 
Comunque i browser _seri_ ricaricano tutto se premi ctr+shift+R

 Comunque i browser _seri_ ricaricano tutto se premi ctr+shift+R
 
Il problema e` farlo capire agli utenti. :)
 
Bye.

 essendo un numero casuale, invalidava la cache ad ogni richiesta.
 
Guarda meglio, l'idea non è quella del random number: mettendo il
modification time del file, in pratica fai refreshare la cache solo se
quest'ultimo cambia. Non male come pensata.
 
bye!

 modification time del file
 
Stai rispondendo a quello che usa il filemtime. :)
Leggi meglio il thread. ;)
 
Bye.

 ?>"></script>
 
 
Non sapendo cosa fa questa riga mi sembra di intuire che reperisce l'ultima 
modifica del file js e forza la cancellazione  della cache nel caso sia 
superata, anche se non ho capito come.
 
Però diciamola meglio: il javascript non lo scrivo io e l'applicazione si 
compone di una serie di pannelli che dinamicamente vengono vengono inclusi a 
seconda delle scelte che l'utente opera
 
I file js che descrivo ogni pannello e che vengono inclusi non iniziano con 
la parola chiave script. Pensi che potrei fare un test aggiungendo la riga 
da te suggerita?
 
Grazie
ConteZero
 
 
 

 la riga da te suggerita?
 
I file js non devono contenere il tag script. E` un tag HTML. Devi 
metterlo nell'HTML della pagina, dove viene incluso il javascript, non 
NEL javascript.
 
Bye.

Bye.
 
Intanto ti ringrazio per le delucidazioni: come avrai capito non programmo 
spesso a questo livello di dettaglio e sono un pò una capra. Mi occupo più 
dell'architettura delle cose ma quando ce necessità occorre tirarsi su le 
maniche ... e poi capire come sono state fatte le cose è sempre bene anche 
per verificare la qualità del lavoro che viene svolto oppure per farsi 
venire delle idee nuove.
Nel caso specifico le inclusioni non mi pare vengano fatte da file HTML ma 
sempre tramite script javascript (ne sono abbastanza certo). Ci lavoro su e 
vedo cosa riesco a fare.
 
ConteZero 
 

 
 
"ConteZero"  ha scritto nel messaggio news:k1ht9p$237$1...@tdi.cu.mi.it...

dimenticavo ....
 
nel index.php trovo questo:
 
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // Data passata
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
                                                     // sempre modificato
header("Cache-Control: no-store, no-cache, must-revalidate");  // HTTP/1.1
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");                          // HTTP/1.0
 
non sono ancora certo se funzioni o no: il mio dubbio è che ricarichi sempre 
tutto e non solo il modificato. Che ne pensi?
 
ConteZero 
 

 sempre tutto e non solo il modificato. Che ne pensi?
 
Dipende dal codice che ci sta intorno. E` un po' difficile dire perche` 
lo faccia, altrimenti.
 
Bye.