it-swarm.dev

Forza l'aggiornamento solo dei file JavaScript in Firefox e Chrome

Voglio cancellare solo i file JavaScript dai miei browser web (Firefox e Chrome). Sto facendo il debug di JavaScript, ed è fastidioso che il mio JS non venga aggiornato ogni volta che cambio i miei file JS. L'unica cosa che posso fare ora è cancellare i miei cookie, ma farlo cancella tutta la mia cronologia di navigazione.

Come posso cancellare/aggiornare i file JavaScript che sono stati caricati nei miei browser senza cancellare altri file?

63
Graviton

Lo faccio io stesso per lo sviluppo. Io uso Ctrl+F5. È come un aggiornamento di forza. Questo rinfresca la pagina, incluso il ri-download di qualsiasi file JavaScript o file CSS di riferimento, anche se sono stati memorizzati nella cache.

NON cancellerà nient'altro come la cronologia di navigazione.

Ma tieni presente che sebbene io sappia che questo funziona in Firefox, e probabilmente in Internet Explorer, non sono sicuro se Ctrl+F5 funziona allo stesso modo in Chrome.

Inoltre, iegik dice:

Su alcuni browser puoi usare `Ctrl+Shift+R fare lo stesso compito.

42
7wp

Con Chrome:

A partire da Chrome 15, apri gli Strumenti per sviluppatori, fai clic sulla ruota dentata in basso a sinistra dello schermo e seleziona la casella di controllo Disabilita cache .

Disable cache in Chrome 15 and up

In questo modo, sarai sicuro che le risorse vengono sempre ricaricate dal server e non è necessario cancellare manualmente la cache, che potrebbe anche rimuovere i dati memorizzati nella cache per i siti non collegati.

50
avernet

Non sono d'accordo con @ 7wp. Poiché alcuni dei tuoi utenti finali non hanno familiarità con il Ctrl+F5 funzione, e alcuni non sono nemmeno a conoscenza delle differenze tra i browser e persino l'esistenza di altri browser (ad esempio gli anziani) si dovrebbe forzare il browser a scaricare una nuova copia dei file JS/CSS.

La soluzione migliore qui è aggiungere il timestamp alla fine dei nomi di file .js/.css, oppure aggiungere la versione svn che è anche un'ottima idea.

<script src="js/myfile.js?t=<?=time()?>" type="text/javascript"></script>
8
Alon Kogan

Potresti provare a svuotare solo la cache, e non l'intera navigazione, la cronologia, i cookie, le password, i dati dei moduli salvati e quant'altro (impostazione predefinita).

In Firefox 3.5, vai a

Strumenti "Cancella cronologia recente ...

Quindi assicurati di selezionare solo "Cache" prima di selezionare "Cancella ora".

In Chrome (non so quale versione particolare stai usando, mentre uso le versioni di sviluppo), vai a

Icona chiave inglese (strumenti) "Opzioni" scheda Informazioni personali "Cancella dati di navigazione ...

Di nuovo, assicurati che sia selezionato "Svuota la cache".

In alternativa, puoi provare ad aprire una nuova sessione privata in Firefox o in Incognito in Chrome; nessuno dei due deve memorizzare nella cache alcun file (inclusi i file .JS) che si scaricano ed elaborano automaticamente durante la navigazione.

5
RoyalKnight

Apro il file JavaScript in una scheda separata, Shift + Aggiorna, verifica che sto visualizzando le ultime modifiche, quindi Shift + Aggiorna la pagina attuale (in realtà, nel mio caso, frame in un frameset, che sembra peggiorare le cose). Funziona quasi sempre.

1
doug mayo-wells

In Chrome puoi semplicemente premere Ctrl e fare clic sul pulsante Aggiorna. L'ho scoperto per caso.

1
Julio Bahar

Ho usato un piccolo trucco su un sito su cui sto lavorando ... per le stesse ragioni di te. Apporto piccole modifiche e il codice JavaScript viene caricato dal codice JavaScript e voglio essere sicuro di lavorare sempre con lo script corrente (non memorizzato nella cache).

Prova a creare il codice JavaScript che stai caricando in un file PHP ... inserisci semplicemente <?php ?> all'inizio e inserisci l'estensione di .php.

var fileref = document.createElement('script');
fileref.setAttribute("type", "text/javascript");

// The Date added to the file doesn't effect the results but
// helps Internet Explorer be sure to refresh the data and
// not use cache

var d = new Date();

var t = d.getTime();

fileref.setAttribute("src", filename + ".php?date=" + t);

fileref.setAttribute("id", filename);

Poiché il nome cambia, Internet Explorer pensa che sia un nuovo file;)

1
Greg

Non l'ho usato da solo, ma il componente aggiuntivo di Firefox "Clear Cache Button" potrebbe essere utile. Ho letto la loro documentazione, quindi non sono sicuro se cancella anche la cronologia di navigazione.

0
Jared Harley

Vai alle impostazioni del contenuto in Chrome, disattiva JavaScript e salva.

Quindi, abilita nuovamente JavaScript.

0
nisar

Se stai lavorando con JavaScript e sei preoccupato di ricaricare la pagina per riflettere le modifiche di JavaScript. Prova a utilizzare il debugger di Chrome, in cui puoi apportare modifiche ai file JavaScript caricati in fase di esecuzione e senza ricorrere a qualsiasi ricarico puoi testare nuove funzioni o modifiche che desideri testare.

0
Nikhil Joshi

Nell'ultimo Chrome è disponibile:

Enter image description here

0
Baljeetsingh

Aggiungi una funzione di data dinamica alla fine del tuo file JavaScript. Costringerà il browser a caricare il file JavaScript aggiornato. Significa, quando si include il file .js, si potrebbe aggiungere .... xyz.js?

< ? php echo date('l jS \of F Y h:i:s A') ? >

Naturalmente questo potrebbe essere rimosso una volta terminato il debug e pronto per l'uso.

0
Chris