¿Cómo actualizar una página web en Chrome (Ctrl + F5 analógico) en un dispositivo sin botón de menú?
On diciembre 1, 2020 by adminTengo un dispositivo Android Nexus 7 con 4.2.2 y navegador Chrome.
¿Cómo se puede realizar una actualización profunda de una página web, análoga a la tecla de acceso rápido Ctrl + F5 en los escritorios?
Por favor , observe que el dispositivo no tiene un botón de menú.
De acuerdo con la única pregunta relacionada que encontré aquí , la solución es para borrar la caché del navegador por completo. Preferiría una solución más conveniente y elegante.
Comentarios
- ¿Cómo se relaciona el botón de menú (o la falta de él) ?
- @eldarerathis, vi una publicación en la red, sugerí presionar el botón de la herramienta Actualizar mientras mantienes presionada la tecla Menú.
- Ah, interesante. No ‘ había escuchado eso antes.
- Esta pregunta tiene respuestas mucho mejores en StackOverflow (que demuestra cómo dividir en exceso la comunidad no ‘ t ayuda; Android está lo suficientemente cerca de la programación que ‘ no Vale la pena crear un sitio separado para; Química vs. Matemáticas, claro.)
Respuesta
Omitiendo la caché por sitio:
Esto necesita que se ejecute un código javascript simple en la barra de direcciones para omitir la caché y recuperar contenido del servidor en lugar de la caché del navegador. De acuerdo con esta página de MDN sobre forzar la recarga de la página actual desde el servidor ,
javascript:location.reload(true)
Ingrese el código anterior en la barra de direcciones del navegador y presione la tecla Enter. Esto buscará todo el contenido del servidor en lugar de seleccionar los elementos almacenados en caché en su navegador (por lo tanto, omitiendo el caché del navegador).
Omitir datos de caché para todos sitios web (caché global)
El javascript anterior funciona solo para un sitio web específico que haya abierto actualmente. Para borrar toda la caché del sitio web, utilice los datos de la caché del navegador global. Lo encontrará en
Settings > Privacy > CLEAR BROWSING DATA
Seleccione la casilla de verificación «Caché» (y otras opciones como datos del navegador, cookies, contraseña, etc. si lo desea) y seleccione «Borrar «.
Nota: Mientras Ctrl
+ F5
hará que el navegador elimine la caché y solicite nuevos contenidos del servidor, el servidor puede ignorar el no-cache
y mostrar una página en caché del lado del servidor. Por lo tanto, incluso Ctrl
+ F5
puede devolver una versión anterior de la página si el servidor ignora el encabezado sin caché.
Modo incógnito:
Navegar por el modo incógnito desactiva el historial y la caché. Por lo tanto, puede visitar cualquier sitio a través del modo de incógnito para solicitar contenido nuevo en todo momento.
Para una discusión más interesante sobre qué Ctrl
+ F5
o forzar actualización,
Lea esta publicación de SO, ¿Qué solicitudes hacen los navegadores «» F5 «y» Ctrl + F5 ”Actualiza generar?
Comentarios
- Este ya no funciona en Chrome 47 .
- Incluso después de borrar los datos de navegación, la actualización profunda no estaba ocurriendo. Tuve que cerrar y reiniciar Chrome en mi teléfono Android para forzarlo a obtener de la caché . (Como una ocurrencia tardía, parece que incluso después de borrar el caché en el disco (presumiblemente), el caché en la memoria todavía está disponible. Killing Chrome borra el caché de la memoria también.) [PD: By » disk » Me refiero al almacenamiento permanente no volátil también conocido como memoria flash.]
Respuesta
Encontré i t !!!!!!
En el lado izquierdo de la URL hay un icono de información (i) o un icono de candado. Haga clic en el icono y luego en [configuración del sitio web].
Encontrará un icono de papelera para borrar la memoria caché del sitio actual y, alternativamente, un botón de «restaurar preferencias».
Trabajando en Android Chrome 71.
Comentarios
- No funciona en mi S9 +, Chrome build 73.0.3683.90. ‘ he pulsado la opción Borrar & Reset al menos 15 veces en una página que controlo (así que sé lo que hace el código bastante bien ). Sin embargo, el JS que se ejecuta en la página que estoy cargando todavía es una versión antigua.
- Bueno, funcionó perfectamente en mi S9, así que supongo que hay algo específico para tu caso. ¿Podrías seguir saqueando eso?
- Yo ‘ he probado esto en dos dispositivos diferentes, uno usando el modo de desarrollador (mi teléfono, ya que ‘ ma desarrollador) y un amigo ‘ s. Además, lo probé en una tableta; no vayas allí +.Además, incluso probé en mi iPhone corporativo usando Chrome, y el mismo problema está ahí. Entonces, desde mi perspectiva, pareces tener suerte, más de lo que parece tener varios dispositivos defectuosos a mi disposición.
- Por supuesto, el problema real es Chrome ‘ s / Android ‘ s comportamiento extraño y almacenamiento en caché hiper-agresivo. Es como un modo de incógnito que no funciona (hablando de eso … eso tampoco funcionó correctamente …)
- Acabo de comprobar que el Chrome del iPhone no tiene esta opción que estás diciendo, así que Creo que no estamos hablando de lo mismo: lo que es más, no hay «clear & reset» en el Chrome de mi Android. Para verificarlo tres veces, he probado mi sugerencia en un Xiaomi A1 que funciona bien (observe que muestra el tamaño de la caché local de la página en KB). Puede que necesite cerrar la pestaña (o intentar matar Chrome). De lo contrario, me pregunto qué se espera que haga el «botón de la papelera» de un sitio específico …
Responder
En mi tableta Samsung navegando con Chrome, escriba esto en la barra de direcciones:
javascript:location.reload(true)
Eso debería desencadenar una recarga completa usando Javascript. Ahora no tengo que esperar días para observar los resultados de un cambio de código que hice. Entonces, un nuevo problema es que escribir en una tableta no es lo que más me gusta hacer.
En lugar de escribir el comando anterior, también intenté cambiar al modo de escritorio y luego volver. Eso no fue una actualización profunda.
Respuesta
No logré que ninguna de estas soluciones funcionara. Sin embargo, he encontrado una solución que funciona.
Primero, averigüe la URL css. En mi caso, se veía así:
/min/assets/css/style.min.css
Escríbalo en el campo de dirección, pero también agregue una variable GET:
/min/assets/css/style.min.css?hello
Con suerte, Se acepta la variable GET. Debido a que es una nueva URL, obliga al CSS a recargarse. Ahora regrese al sitio y el CSS debería haberse vuelto a cargar.
Respuesta
Acabo de encontrar una solución más elegante. En el menú de la página web, solicite la versión de escritorio del sitio web. Extraerá datos del servidor y la página se volverá a cargar. Después de eso, puede volver a la versión móvil una vez más.
Comentarios
- No todos los sitios web ofrecen versiones móviles / de escritorio.
- La versión actual de Chrome en Android tiene la opción Solicitar sitio de escritorio . Ya sea que todos los sitios respeten esa solicitud o no, ‘ sigue siendo una opción eficaz en muchos casos. Probar esto y encontrarlo no ‘ El trabajo es mucho más fácil y rápido que borrar las cachés en la configuración.
Responder
Necesito una forma de borrar la caché actual o toda la caché del mismo dominio de origen a través de javascript, por lo que puedo asegurarme de que el lanzamiento de la actualización de mi aplicación web llega sin errores.
Tampoco tuve éxito al cambiar temporalmente las metaetiquetas de la caché en el encabezado html.
Solo en el escritorio y no automatizable:
ctrl + R
solía trabajar para forzar la recarga para borrar el caché.
ahora tienes que presionar
ctrl + shift + R or shift + F5
Parece que Chrome dificultó la limpieza de la caché.
Probablemente lo hagan para hacer trampa en los puntos de referencia de velocidad del navegador. Estilo VW.
Escribí mi propia función forceReload () de solución que funciona en Windows Chrome y Android Chrome y chromium:
window.forceReload = function(){ if( !window.fetch)return document.location.reload( true); var els = document.getElementsByTagName( "*"); for( var i = 0; i < els.length; i++){ var src = ""; if( els[i].tagName == "A")continue; if( !src && els[i].src)src = els[i].getAttribute( "src"); if( !src && els[i].href)src = els[i].getAttribute( "href"); if( !src)continue; fetch( src, { cache: "reload"}); } return document.location.reload( true); };
Este La función solo recargará los contenidos que se han cargado en la página actual, puede activarla una vez en cada uno de sus clientes después de que haya nuevas actualizaciones en el servidor, o simplemente agregar un botón de actualización que funcione en su aplicación.
Comentarios
- Gracias por compartir el código. Fetch parece aún una API experimental, entonces probablemente otra API de caché experimental también podría ser útil.
Respuesta
I use una Nueva pestaña de incógnito . También funciona en otros dispositivos y navegadores. Evita la caché local normalmente.
Tenga en cuenta que las sesiones privadas aún pueden considerarse simultáneas, por lo que es posible que deba cerrar todas las pestañas de incógnito para borrar su caché.
Respuesta
Tire hacia abajo de una página para recargarla, viene incorporada a Chrome para teléfonos inteligentes, para ver más trucos como ese, consulte este enlace, donde encontré la solución para su problema
Comentarios
- Si bien esta función se agregó recientemente a Chrome broswers ( ver.41 anterior) no estará disponible en las versiones anteriores. Por lo tanto, esta función puede funcionar o no. Y lo que es más importante, esto solo recarga la página de la manera normal, pero el OP solicita una actualización completa.
- No ‘ s no se especifica si la solución requerida está bajo el punto de vista de Android o codificación
- No se pudo ‘ No entiendo lo que quieres decir con eso. Pero esta respuesta no ‘ no me convence de que proporcionará una solución al problema del OP ‘ s.
- Esta » answer » literalmente le dice a la gente que puede realizar una actualización regular tirando hacia abajo de la página. . Sin embargo, la pregunta de OP ‘ trataba de hacer una » actualización completa «, CTRL + F5 equivalente en la PC.
Respuesta
A la izquierda de la ventana de dirección web que está visitando hay una flecha circular.
Comentarios
- No ‘ no creo que esto haga una actualización profunda como Stan pidiendo.
Deja una respuesta