Posso forzare un aggiornamento della cache in Safari in esecuzione su iOS?


57

La maggior parte dei browser desktop Windows utilizza la combinazione di tastiera Ctrl+ F5per forzare un aggiornamento della cache specifico della pagina. I browser basati su Mac OS X tendono a utilizzare Command+ R. Esiste un aggiornamento della cache equivalente per una singola pagina in Safari in esecuzione su iOS?

Mi rendo conto di poter cancellare manualmente la cache del browser, ma preferirei aggiornare solo per la pagina che sto visualizzando.



@ bassplayer7 è vicino ma non è lo stesso. Command + R aggiorna solo le risorse per la pagina specifica con cui hai a che fare. Ciò significa che anche JavaScript collegato esternamente da un CDN verrebbe aggiornato. Ciò esclude le risorse a cui non si fa riferimento. E 'un controllo molto fine grana offerto ai browser desktop ed è eccellente a portata di mano per lo sviluppo web.
Ahsteele,

Ha senso. Come sviluppatore web, capisco quanto sia conveniente. Presumo che tu lo faccia già, ma non posso fare a meno di menzionarlo: utilizzo questa app di Adobe per il mio lavoro mobile. E credo che riavviare Safari, per quanto ingombrante, sia almeno più un aggiornamento del pulsante. Tuttavia, non ho fatto abbastanza casino per sapere esattamente cosa è rinfrescante.
bassplayer7,

La pressione del pulsante di aggiornamento nella barra degli indirizzi non aggiorna anche il contenuto memorizzato nella cache?
Gerry,

Risposte:


36

L'uscita forzata non ha funzionato in modo affidabile per me in iOS 8. Cosa ha fatto usando la modalità privata per i test:

  1. Apri la pagina in modalità privata (e aggiungila ai segnalibri in modo da poterla aprire in seguito).
  2. Quando è necessario aggiornare, chiudere la "scheda" del browser (è possibile rimanere in Safari e in modalità privata).
  3. Apri di nuovo la pagina (usa il segnalibro che hai creato nel passaggio 1).

1
Non è un'ottima soluzione, ma sembra essere la migliore con cui iOS ci offre di lavorare.
Brendan,

2
Come posso accedere alla "modalità privata"?
linuxdan,

In Mobile Safari: tocca l'icona di due quadrati, che ti mostreranno tutte le schede aperte e mostreranno il pulsante della modalità "Privato" in basso a sinistra. support.apple.com/en-gb/HT203036
Matt Sephton

A partire da iOS 13.1.3 questo non funziona più.
Timbo,

11

Se il telefono è collegato al computer / laptop Apple, con gli strumenti di sviluppo Safari aperti (e la finestra attiva) è possibile premere:

Command Key + Option + R


Scommetto che funziona anche se usi una tastiera Bluetooth con il tuo telefono.
Rinogo,

@rinogo Negative. Uso la tastiera Apple Magic sul mio iPad Pro e "cmd + shift + r" non fa nulla nel browser Safari.
danielson317,

7

Se imponi l'uscita da Safari (fai clic sul pulsante Home, quindi fai doppio clic sul pulsante Home, tieni premuta l'icona Safari nella barra multitasking, quindi tocca il punto rosso), sembra che Safari cancellerà la sua cache. Ma questo cancellerà l'intera cache, non solo una singola pagina.

Puoi anche cancellare i cookie e i dati di Safari nell'app Impostazioni. In Avanzate è possibile cancellare i dati dai singoli siti Web, che potrebbero funzionare se si conoscono tutti i siti associati alla pagina Web che si desidera scaricare.


1
Questo non funziona per me (iOs 7.0.4).
Nabil Kadimi,

3
Con iOS 7, lancia l'app verso l'alto dall'elenco recente / multitasking per chiuderla forzatamente.
hotpaw2,

1
iOS 7.1 qui, ho controllato tramite gli strumenti di sviluppo remoto di Safari e sembra che le risorse non siano effettivamente memorizzate nella cache dopo aver
lasciato forzatamente

5

Puoi forzare il dispositivo a interrompere la memorizzazione nella cache dei file collegandolo a un computer con un cavo e abilitando la modalità sviluppatore Safari.

  • Abilita Web Inspector sul dispositivo mobile:
    Impostazioni> Safari> Avanzate> Web Inspector
  • Abilita gli strumenti di sviluppo in Safari su macOS:
    Safari> Preferenze> scheda Avanzate> Mostra sviluppo nella barra dei menu
  • Collega il dispositivo al computer
  • Apri il pannello degli strumenti di sviluppo per il dispositivo da Safari sul computer:
    Sviluppo> iPhone di esempio> esempio.com/pagina
  • Per disabilitare la memorizzazione nella cache, vai alla scheda Rete e assicurati che la piccola icona per "nessuna cache" sia blu (sembra un cilindro con un incrocio).
  • Ora dovresti essere in grado di fare clic su Aggiorna in qualsiasi momento sul dispositivo iOS e otterrai una versione aggiornata non memorizzata nella cache!

Se sei uno sviluppatore web questo è il modo ideale per farlo perché ora hai accesso al pannello strumenti di sviluppo completo estremamente utile. E non è necessario continuare a ripetere un processo fastidioso se è necessario ottenere sempre una versione aggiornata, non solo svuotare la cache una volta.

Se sei solo un utente generico che cerca di svuotare la cache, potresti voler utilizzare uno degli altri metodi qui.


Aggiornamento: ora è possibile connettersi al dispositivo tramite WiFi. Potrebbe richiedere ancora l'installazione iniziale con il cavo, ma puoi sicuramente collegarti senza di esso dopo.
Sviluppa> Esempio di iPhone> Connetti tramite rete


1

Elimina i dati memorizzati nella cache per un singolo sito selezionando Impostazioni > Safari > Avanzate > Dati sito Web > Mostra tutti i siti .

Tocca Modifica in basso a destra sullo schermo, quindi scorri l'elenco o cerca con il campo di ricerca per trovare il sito Web che desideri cancellare). Tocca l' icona rossa - accanto all'indirizzo del sito, quindi tocca il pulsante Elimina che appare.

Ritorna su Safari e ricarica la pagina, e tutti i manufatti del sito verranno ricaricati.


Questo non ha funzionato. Gli elementi non sono selezionabili sul mio iPad (iOS 12).
Cheesus SO smette di fare del male a Monica il

0

Su Safari abilita la modalità sviluppatore. Quindi è possibile utilizzare la seguente combinazione per cancellare la cache:

Option-Key + Command-Mac-Key + E 

Suppongo che questo lascerà cadere solo la cache del sito in cui ti trovi in ​​quel momento.


Sfortunatamente, le tue istruzioni si applicano solo alla versione desktop di Safari. La domanda riguardava la versione iOS.
calum_b,

-1

Tocca due volte il pulsante di aggiornamento.


7
Questo funziona per chiunque? Tocca due volte per interrompere l'aggiornamento che ho iniziato con il primo tocco.
Brendan,

Sì, questa è stata l'unica cosa che ha funzionato per me. Non sono sicuro che questo dia un calcio nel culo ma funziona.
Ben Rabidou,

-3

puoi aggiungere un numero casuale ottenere allo script o collegare src come:

<link rel="stylesheet" href="css/main.css?rand=<?=$rand;?>" type="text/css" /> <script type="text/javascript" src="js/main.js?rand=<?=$rand;?>"></script>

questo costringe Safari a ricaricare il file, perché pensa che sia un file diverso.


4
Come funziona dal lato utente?
Nohillside

1
Aggiungi un parametro casuale all'URL in alto...?rand=15
Aaron Digulla,

Questo si chiama "busting della cache", il che rende la stringa URL unica nel modo in cui il browser la vede. Pertanto, non troverà mai quell'URL nella sua cache. (E il lato host semplicemente ignora GETcompletamente il parametro.) Ma questa non è proprio la stessa cosa di ciò che l'OP sta chiedendo.
Mike Robinson,

@AaronDigulla Questo non funzionerà con risorse collegate come file e immagini CSS.
Flimm,

-3

Premere a lungo il pulsante di aggiornamento. iPhone 6


6
Viene visualizzato un menu con "Richiedi sito desktop" nel Telefono 7.
Flimm,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.