Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Evitare salvataggio cache di CSS e JS

    ciao!

    sto facendo varie modifiche grafiche, che mi comportano un sacco di problemi con chrome.
    a volte anche facendo il refresh della pagina svariate volte con Ctrl+R, non si prende l'aggiornamento.
    allora ho provato a mettere questo nell'head:
    codice:
    <meta http-equiv="cache-control" content="max-age=0">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT">
    <meta http-equiv="pragma" content="no-cache">
    ma sembra non funzionare lo stesso.

    vorrei evitare il salvataggio nella cache di CSS e JS fino a migrazione completata.
    qualche soluzione??

  2. #2
    Prova così, mettendo una sezione dell'intestazione in fondo alla pagina:
    codice:
    <HTML>
    <HEAD>
    <META HTTP-EQUIV="REFRESH" CONTENT="5">
    <TITLE> Pragma No-cache </TITLE>
    
     <HEAD>
    <BODY>
    ........................................
    ..........................................
    ........................................
    </BODY>
    <HEAD>
    <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
     </HEAD>
    </HTML>
    Considera però che le soluzioni lato-client non sono sempre sicure meglio usare soluzione lato server
    “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

  3. #3
    si infatti, anche perchè secondo me chrome se ne infischia altamente.

    cercando soluzioni lato server ho trovato questo:
    Codice PHP:
    header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
    header("Cache-Control: post-check=0, pre-check=0"false);
    header("Pragma: no-cache"); 

  4. #4
    Se vuoi indicazioni maggiori ti sposto in php
    “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

  5. #5
    Quote Originariamente inviata da carlomarangoni Visualizza il messaggio
    Se vuoi indicazioni maggiori ti sposto in php
    si forse è meglio, grazie!!

  6. #6
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Non so se la cosa ti possa aiutare ma di solito se ho dei css/js che variano spesso (es in sviluppo) quando li "linko" aggiungo un parametro:

    Codice PHP:
    <script src="/js/somejs.js?t=<?php echo time() ?>" ></script>
    visto che time() cambia ogni volta, il browser lo prende come "nuovo" e non dalla cache. Robe di header non mi hanno mai funzionato su tutti i browser.

  7. #7
    bhe sicuramente si grazie!
    in effetti non ci avevo pensato.

    domani provo entrambe le soluzioni e vi dico!!

  8. #8
    sembrano funzionare entrambi.

    in tutti i casi, chrome si prende sempre i CSS e i JS aggiornati.

    grazie!

  9. #9
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732
    Un'alternativa per ottimizzare leggermente la questione potrebbe essere quella di usare, come timestamp, la data di modifica del file...

    Qualcosa tipo

    <script src="/js/somejs.js?<?=filemtime('/js/somejs.js') ?>" ></script>

    In questo file il file rimarrebbe in cache solo finché non viene modificato. Questo permetterebbe di sfruttare la cache del browser senza esserne imbrigliati.

  10. #10
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    filemtime è interessante come soluzione, anche se dipende in che situazione ci si trova. Se è solo a scopo di sviluppo, e quindi quando si porta in produzione tutti queste "aggiunte" vengono eliminate, usare time() , filemtime() o altro è del tutto irrilevante.

    filemtime() mi sembra più una soluzione per ambienti di produzione, ma bisogna anche tener presente che la funzione ha un costo computazionale

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.