Sto lavorando su XAMPP e MAMP ma entrambi non si aggiornano tempestivamente.
Faccio un esempio:
modifico un file, faccio un refresh e non noto il cambiamento
È un problema di XAMPP/MAMP oppure del browser?
Come risolvo?
Sto lavorando su XAMPP e MAMP ma entrambi non si aggiornano tempestivamente.
Faccio un esempio:
modifico un file, faccio un refresh e non noto il cambiamento
È un problema di XAMPP/MAMP oppure del browser?
Come risolvo?
Più pratica in futuro...
Cancellando la cache del browser
“Che le cose siano cosi, non vuol dire che debbano andare così. Solo che quando si tratta di rimboccarsi le maniche e incominciare a cambiare, vi è un prezzo da pagare. Ed è allora che la stragrande maggioranza preferisce lamentarsi più che fare”.
Giovanni Falcone
Cancellare tutte le volte la cache è scomodo. Non c'è qualche browser che azzera la cache alla chiusura del software o qualche impostazione su XAMPP o MAMP?
Più pratica in futuro...
se le pagine sono dinamiche: imposta il nocache a seconda del linguaggio che usi, e imposta una variabile in querystring per i file che devi chiamare (tipo per i file css e js).
se la pagina sono statiche: non hai speranza di agire lato server per istruire il browser a non considerare la cache.
Per nocache intendi questo?
Cosa intendi per "variabile in querystring"?Codice PHP:
<?php
header ( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
header ( "Cache-Control: no-cache" );
header ( "Pragma: no-cache" );
?>
ciao
Più pratica in futuro...
si
esempio:
la variabile v=1 aiuterà il browser a caricare la versione che hai chiamato "1", non obbligatoriamente se la va a cercare sul server. potrebbe comunque prenderla dalla cache.codice:<link href="css/bootstrap.min.css?v=1" rel="stylesheet">
questo espediente funziona bene finché non fai modifiche al file.
oppure, visto che sei in progettazione e te lo puoi permettere a livello di costi, al posto di "1" metti una variabile casuale che rinnovi ad ogni caricamento di pagina: così facendo avrei sempre il file nuovo.
mille grazie per il primo quesito
ma se funziona fino a che non faccio modifiche al file allora non serve a nulla!
comunque se i file esterni li carico con una variabile random il browser andrebbe ogni volta a leggere dal server?
questa tecnica la posso usare solo con css oppure con tutti i file e quindi anche js e persino php?
Codice PHP:
<?php include("librerie/sicurezza.php?v=1"); ?>
Più pratica in futuro...
no, mi sarò spiegato male...
se metti la variabile per i file statici costringi il browser a cercare qualcosa con quella querystring. tuttavia non è garanzia di ricaricamento ad ogni visita in quanto in cache ha già un risultato con quella query. non è che non serve, serve a caricare una determinata "versione" (anche se è solo fittizia).
se metti un numero casuale ad ogni accesso alla pagine avrai sempre una "versione" nuova, ma spendi di risorse. cosa che in ambiente di sviluppo può pure andare bene.
il discorso non vale per le inclusioni: non sono chiamate dal browser. sono parti fisiche della pagina che il server deve elaborare.
thanks
Più pratica in futuro...
dimenticavo...
in fase di sviluppo, per costringere il browser a ricaricare tutto (comprese librerie e css), basta cliccare ctrl+F5