24 votos

¿Cómo actualizar una página web en Chrome (analógico a Ctrl+F5) en un dispositivo sin botón de menú?

Tengo 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álogo a la tecla de acceso directo Ctrl+F5 en computadoras de escritorio?

Por favor, ten en cuenta que el dispositivo no tiene un botón de menú.

Según la única pregunta relacionada que he encontrado aquí, la solución es limpiar completamente la caché del navegador. Yo preferiría una solución más conveniente y elegante.

2 votos

¿Cómo está relacionado el botón de menú (o la falta de él)?

1 votos

@eldarerathis, vi un post en la red que sugería presionar el botón de la herramienta de actualización mientras se mantiene presionada la tecla de menú.

0 votos

Ah, interesante. No había escuchado eso antes.

6voto

user182109 Puntos 1

En el lado izquierdo de la URL, hay un icono de información (i) o un icono de candado. Haz clic en el icono y luego en [configuración del sitio web].

Encontrarás un icono de basura para borrar la caché del sitio actual, y alternativamente un botón de "restaurar preferencias".

Trabajando en Chrome para Android v71.

1 votos

No funciona en mi S9+, construcción de Chrome 73.0.3683.90. He presionado la opción de Clear & Reset al menos 15 veces en una página que controlo (así que sé bastante bien lo que hace el código). Sin embargo, el JavaScript que se ejecuta en la página que estoy cargando sigue siendo una versión antigua.

1 votos

Bueno, funcionó perfectamente en mi S9, así que supongo que hay algo específico en tu caso. ¿Podrías por favor mirarlo más a fondo?

0 votos

Ahora he probado esto en dos dispositivos diferentes, uno usando el modo desarrollador (mi teléfono, ya que soy un desarrollador), y uno de un amigo. También lo he intentado en una tableta; no funcionó allí. Además, incluso lo probé en mi iPhone corporativo usando Chrome, y el mismo problema está presente. Así que desde mi perspectiva, pareces tener suerte, más que yo que parece tener dispositivos defectuosos a mi disposición.

4voto

Ilium Puntos 2478

No logré que ninguna de estas soluciones funcionara. Sin embargo, encontré una solución que sí funciona.

Primero, encuentra la URL de CSS. En mi caso, se veía así:

/min/assets/css/style.min.css

Escríbelo en el campo de dirección, pero también añade una variable GET:

/min/assets/css/style.min.css?hello

Esperemos que la variable GET sea aceptada. Como es una nueva URL, obliga a recargar el CSS. Ahora, vuelve al sitio y el CSS debería haber sido recargado.

3voto

Aad vd A Puntos 31

En mi tableta Samsung navegando con Chrome, escribe esto en la barra de direcciones:

javascript:location.reload(true)

Eso debería activar una recarga completa usando Javascript. Ahora no tengo que esperar días para observar los resultados de un cambio de código que hice. Un nuevo problema es que escribir en una tableta no es mi cosa favorita.

En lugar de escribir el comando anterior también intenté cambiar al modo de escritorio y luego volver. Eso no actualizó profundamente.

1voto

En el menú de la página web, solicita la versión de escritorio del sitio web. Se extraerán datos del servidor y la página se recargará. Después de eso, puedes volver a la versión móvil una vez más.

1 votos

No todos los sitios web ofrecen versiones móviles / de escritorio.

1 votos

La versión actual de Chrome en Android tiene la opción Solicitar sitio web para escritorio. Ya sea que todos los sitios acepten esa solicitud o no, aún es una opción efectiva en muchos casos. Probar esto y encontrar que no funciona es mucho más fácil y rápido que borrar cachés en la configuración.

1voto

sax Puntos 11

Necesito una forma de limpiar la caché actual o toda la caché del mismo dominio de origen a través de JavaScript, para asegurarme de que la actualización de mi aplicación web se realice sin errores.

Tampoco tuve éxito al cambiar temporalmente las etiquetas meta de caché en el encabezado HTML.

Solo en desktop y no automatizable: Ctrl + R. Solía funcionar para forzar la recarga y limpiar la caché. Ahora tienes que presionar Ctrl + Shift + R o Shift + F5.

Escribí mi propia solución alternativa de forceReload() que funciona en Windows Chrome, Chrome para Android 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);
};

Esta función solo recargará el contenido que se ha cargado en la página actual. Puedes activarla una vez en cada cliente después de que las nuevas actualizaciones estén en el servidor, o simplemente agregar un botón de actualización funcional en tu aplicación.

0 votos

Gracias por compartir el código. Parece que Fetch todavía es una API experimental, así que probablemente también sería útil otra API experimental de Caché.

0 votos

Teniendo en cuenta que Android.SE se centra más en problemas de usuarios finales, ¿es posible llamar a la función forceReload() directamente desde el navegador?

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X