¿Puedo forzar una actualización de caché en Safari ejecutándose en iOS?


57

La mayoría de los navegadores de escritorio de Windows utilizan la combinación de teclado Ctrl+ F5para forzar una actualización de caché específica de la página. Los navegadores basados ​​en Mac OS X tienden a usar Command+ R. ¿Existe una actualización de caché equivalente para una sola página en Safari ejecutándose en iOS?

Me doy cuenta de que puedo borrar manualmente la memoria caché del navegador, pero preferiría actualizar solo la página que estoy viendo actualmente.


¿Es esto en lo que estás pensando? apple.stackexchange.com/questions/73153/...
bassplayer7

@ bassplayer7 está cerca pero no es lo mismo. Command + R solo actualiza los recursos para la página específica con la que está tratando. Esto significa que también se actualizará JavaScript vinculado externamente desde una CDN. Esto excluye los recursos a los que no se hace referencia. Es un control muy fino que se ofrece a los navegadores de escritorio y es muy útil para el desarrollo web.
ahsteele

Tiene sentido. Como desarrollador web, entiendo su punto de lo conveniente que es. Supongo que ya lo haces, pero no puedo evitar mencionarlo: uso esta aplicación de Adobe para mi trabajo móvil. Y, creo que reiniciar el Safari, engorroso como es, es al menos más refrescante que el botón. Sin embargo, no me he metido lo suficiente como para saber exactamente qué es refrescante.
bassplayer7

¿Presionar el botón Actualizar en la barra de direcciones no actualiza también el contenido en caché?
Gerry

Respuestas:


36

Forzar cierre no funcionó de manera confiable para mí en iOS 8. Lo que sí hizo fue usar el modo privado para las pruebas:

  1. Abra la página en modo privado (y marque como favorito para que pueda abrirla más tarde).
  2. Cuando necesite actualizar, cierre la "pestaña" del navegador (puede permanecer en Safari y en modo privado).
  3. Abra la página nuevamente (use el marcador que creó en el paso 1).

1
No es una gran solución, pero parece ser lo mejor que iOS nos ofrece para trabajar.
Brendan

2
¿Cómo llego al "modo privado"?
linuxdan

En Safari móvil: toca el icono de dos cuadrados, que te mostrará todas las pestañas abiertas y mostrará el botón de modo "Privado" en la parte inferior izquierda. support.apple.com/en-gb/HT203036
Matt Sephton

A partir de iOS 13.1.3 esto ya no funciona.
timbo

11

Si tiene su teléfono conectado a su computadora / laptop Apple, con las herramientas de desarrollador de Safari abiertas (y la ventana activa) puede presionar:

Command Key + Option + R


Apuesto a que esto también funciona si usas un teclado Bluetooth con tu teléfono.
Rinogo

@rinogo Negativo. Uso el teclado mágico de Apple en mi ipad pro y "cmd + shift + r" no hace nada en el navegador safari.
danielson317

7

Si obliga a salir de Safari (haga clic en el botón de inicio, luego haga doble clic en el botón de inicio, presione y mantenga presionado el icono de Safari en la barra multitarea, luego toque el punto rojo), parece que Safari borrará su caché. Pero esto borrará todo el caché, no solo una página.

También puede borrar las cookies y los datos de Safari en la aplicación Configuración. En Avanzado, puede borrar datos de sitios web individuales, lo que puede funcionar si conoce todos los sitios asociados con la página web que desea eliminar.


1
Esto no funciona para mí (iOs 7.0.4).
Nabil Kadimi

3
Con iOS 7, lanza la aplicación hacia arriba desde la lista reciente / multitarea para cerrarla por la fuerza.
hotpaw2

1
iOS 7.1 aquí, verifiqué a través de las herramientas de desarrollador remoto de Safari y parece que los recursos no se almacenan en caché después de
cerrar forzosamente

5

Puede obligar al dispositivo a detener el almacenamiento en caché de archivos conectándolo a una computadora con un cable y habilitando el modo de desarrollador Safari.

  • Habilite Web Inspector en el dispositivo móvil:
    Configuración> Safari> Avanzado> Web Inspector
  • Habilite las herramientas de desarrollo en Safari en macOS:
    Safari> Preferencias> pestaña Avanzado> Mostrar desarrollo en la barra de menú
  • Conecte el dispositivo a la computadora
  • Abra el panel de herramientas de desarrollo para el dispositivo desde Safari en la computadora:
    Desarrollar> iPhone de ejemplo> example.com/page
  • Para deshabilitar el almacenamiento en caché, vaya a la pestaña Red y asegúrese de que el pequeño ícono de "sin caché" sea azul (se ve como un cilindro con un tachado).
  • ¡Ahora debería poder actualizar en cualquier momento en el dispositivo iOS y obtendrá una versión actualizada sin almacenamiento en caché!

Si eres un desarrollador web, esta es la forma ideal de hacerlo porque ahora tienes acceso al panel de herramientas de desarrollo completo extremadamente útil. Y no tiene que seguir repitiendo un proceso molesto si necesita obtener una versión nueva todo el tiempo, no solo borrar el caché una vez.

Si solo es un usuario general que intenta borrar su caché, es posible que desee utilizar uno de los otros métodos aquí.


Actualización: ahora puede conectarse al dispositivo a través de WiFi. Es posible que aún requiera una configuración inicial con el cable, pero definitivamente puede conectarse sin él después de eso.
Desarrollar> iPhone de ejemplo> Conectar a través de la red


1

Elimine los datos en caché para un solo sitio yendo a Configuración > Safari > Avanzado > Datos del sitio web > Mostrar todos los sitios .

Toque Editar en la parte inferior derecha de la pantalla y luego desplácese en la lista o busque con el campo de búsqueda para encontrar el sitio web que desea borrar). Toque en el rojo - icono situado junto a la dirección del sitio, y luego toque el Eliminar botón que aparece.

Regrese a Safari y vuelva a cargar la página, y todos los artefactos del sitio serán recargados.


Esto no funcionó. No se puede hacer clic en los elementos en mi iPad (iOS 12).
Cheesus así que deja de dañar a Mónica el

0

En Safari, habilite el Modo desarrollador. Luego puede usar la siguiente combinación para borrar la caché:

Option-Key + Command-Mac-Key + E 

Supongo que esto solo eliminará el caché del sitio en el que se encuentra en ese momento.


Desafortunadamente, sus instrucciones solo se aplican a la versión de escritorio de Safari. La pregunta era sobre la versión de iOS.
calum_b

-1

Toca dos veces el botón Actualizar.


77
¿Esto funciona para alguien? Tocar dos veces solo detiene la actualización que comencé con el primer toque.
Brendan

Sí, esto fue lo único que realmente funcionó para mí. No estoy seguro si esto simplemente patea safari en el culo pero funciona.
Ben Rabidou

-3

puede agregar un número aleatorio al script o vincular src como:

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

esto obliga a Safari a volver a cargar el archivo, porque cree que es un archivo diferente.


44
¿Cómo funciona esto desde el lado del usuario?
nohillside

1
Agregue un parámetro aleatorio a la URL en la parte superior...?rand=15
Aaron Digulla

Esto se llama "cache-busting", lo que hace que la cadena URL sea única tal como la ve el navegador. Por lo tanto, nunca encontrará esa URL en su caché. (Y el lado del host simplemente ignora por GETcompleto el parámetro). Pero, en realidad, esto no es lo mismo que lo que pide el OP.
Mike Robinson

@AaronDigulla Esto no funcionará para recursos vinculados como archivos e imágenes CSS.
Flimm

-3

Mantenga presionado el botón Actualizar. iphone 6


66
Eso muestra un menú con "solicitud de sitio de escritorio" en el teléfono 7.
Flimm
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.