Wie aktualisiere ich eine Webseite in Chrome (Strg + F5 analog) auf einem Gerät ohne Menüschaltfläche?

16

Ich habe ein Nexus 7 Android-Gerät mit 4.2.2 und Chrome-Browser.

Wie kann man eine Webseite Ctrl+F5gründlich aktualisieren - analog zu Hotkeys auf Desktops?

Bitte beachten Sie, dass das Gerät keine Menütaste hat.

Gemäß der einzigen verwandten Frage, die ich hier gefunden habe , besteht die Lösung darin, den Browser-Cache vollständig zu leeren. Ich würde eine bequemere und elegantere Lösung bevorzugen.

Stan
quelle
2
In welcher Beziehung steht die Menüschaltfläche (oder ein Mangel daran)?
Eldarerathis
@eldarerathis, ich sah einige Beiträge im Internet, schlug vor, die Schaltfläche "Aktualisieren" zu drücken, während Sie die Menütaste gedrückt halten.
Stan
Ah, interessant. Ich hatte das noch nie gehört.
Eldarerathis
1
Diese Frage hat viel bessere Antworten auf StackOverflow (was zeigt, wie wenig es hilft, die Community zu spalten; Android ist der Programmierung nahe genug, für die es sich nicht lohnt, eine separate Site zu erstellen; Chemie vs. Mathematik - na klar.)
Dan Dascalescu

Antworten:

-2

Bypassing pro Site-Cache:

Dazu muss ein einfacher Javascript-Code in der Adressleiste ausgeführt werden, um den Cache zu umgehen und Inhalte vom Server anstatt vom Browser-Cache abzurufen. Nach dieser MDN Seite auf Force , um die aktuelle Seite vom Server neu zu laden ,

javascript:location.reload(true)

Geben Sie den obigen Code in die Adressleiste des Browsers ein und drücken Sie die Eingabetaste. Dadurch wird der gesamte Inhalt vom Server abgerufen, anstatt die in Ihrem Browser zwischengespeicherten Elemente auszuwählen (wodurch der Browser-Cache umgangen wird).

Cache-Daten für alle Websites umgehen (globaler Cache)

Das obige Javascript funktioniert nur für eine bestimmte Website, die Sie gerade geöffnet haben. Um den gesamten Website-Cache zu löschen, verwenden Sie die globalen Browser-Cache-Daten. Sie finden dies unter,

Settings > Privacy > CLEAR BROWSING DATA

Aktivieren Sie das Kontrollkästchen "Cache" (und andere Optionen wie Browserdaten, Cookies, Passwort usw., wenn Sie möchten) und wählen Sie "Löschen".

Hinweis: Während Ctrl+ F5wird der Browser den Cache zu werfen und fordern neue Inhalte vom Server, der Server kann den ignorieren no-cacheHeader und eine serverseitige Cache - Seite dienen. Daher kann sogar Ctrl+ F5eine alte Version der Seite zurückgeben, wenn der Server den No-Cache-Header ignoriert.

Inkognito-Modus:

Durchsuchen des Inkognito-Modus deaktiviert den Verlauf und den Cache. Sie können also jede Website im Inkognito-Modus besuchen, um jederzeit neuen Inhalt anzufordern.


Für eine interessantere Diskussion über die Funktionen von Ctrl+ F5oder Aktualisieren erzwingen,

Lesen Sie diesen SO-Beitrag. Welche Anforderungen werden durch die Aktualisierungen von "F5" und "Strg + F5" des Browsers generiert?

Glücklich
quelle
Dies funktioniert in Chrome 47 nicht mehr .
Dan Dascalescu
1
Selbst nach dem Löschen der Browserdaten wurde die Aktualisierung nicht durchgeführt. Ich musste Chrome in meinem Android-Handy beenden und neu starten , um es aus dem Cache zu holen. (Nachträglich sieht es so aus, als wäre der Cache im Speicher noch vorhanden, obwohl Sie den Cache auf der Festplatte geleert haben (vermutlich). Killing Chrome löscht auch den Speicher-Cache.) [PS: Mit "Festplatte" meine ich den permanenten Nicht-Cache flüchtiger Speicher alias Flash-Speicher.]
ADTC
3

Geben Sie auf meinem Samsung-Tablet, das mit Chrome browst, Folgendes in die Adressleiste ein:

javascript:location.reload(true)

Das sollte ein hartes Nachladen mit Javascript auslösen. Jetzt muss ich nicht tagelang warten, um die Ergebnisse einer von mir vorgenommenen Codeänderung zu beobachten. Ein neues Problem ist dann, dass das Tippen auf einem Tablet nicht meine Lieblingsbeschäftigung ist.

Anstatt den obigen Befehl einzugeben, habe ich auch versucht, in den Desktop-Modus und dann zurück zu wechseln. Das hat nicht tief aufgefrischt.

Aad vd A
quelle
2

Ich habe keine dieser Lösungen zum Laufen gebracht. Ich habe jedoch eine funktionierende Lösung gefunden.

Finden Sie zuerst die CSS-URL heraus. In meinem Fall sah es so aus:

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

Schreiben Sie es in das Adressfeld, fügen Sie ihm aber auch eine GET-Variable hinzu:

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

Hoffentlich wird die GET-Variable akzeptiert. Da es sich um eine neue URL handelt, wird die CSS gezwungen, neu zu laden. Gehen Sie jetzt zurück zur Site und das CSS sollte neu geladen worden sein.

Jens Törnell
quelle
2

Ich habe es gefunden !!!!!!

Auf der linken Seite der URL befindet sich ein Infosymbol (i) oder ein Schlosssymbol. Klicken Sie auf das Symbol und dann auf [Website-Konfiguration].

Sie finden ein Papierkorbsymbol zum Löschen des Caches der aktuellen Site und alternativ eine Schaltfläche "Einstellungen wiederherstellen".

Arbeiten mit Android Chrome 71.

JCM
quelle
1
Funktioniert nicht auf meinem S9 +, Chrome Build 73.0.3683.90. Ich habe die Clear & Reset-Option mindestens 15 Mal auf einer von mir kontrollierten Seite gedrückt (damit ich weiß, was der Code ganz gut kann). Die JS, die auf der Seite ausgeführt wird, die ich lade, ist jedoch immer noch eine alte Version.
PB unterstützt Monica
1
Nun, es hat auf meinem S9 perfekt funktioniert, also denke ich, dass etwas speziell für Ihren Fall los ist! Könntest du das bitte weiter plündern?
JCM
Ich habe dies jetzt auf zwei verschiedenen Geräten ausprobiert, eines im Entwicklermodus (mein Handy, da ich Entwickler bin) und das eines Freundes. Ich habe es auch mit einem Tablet versucht. nicht dorthin gehen +. Außerdem habe ich sogar mein Unternehmens-iPhone mit Chrome ausprobiert, und das gleiche Problem gibt es auch. Aus meiner Sicht scheinen Sie mehr Glück zu haben, als dass mir mehrere fehlerhafte Geräte zur Verfügung stehen.
PB unterstützt Monica
Das eigentliche Problem ist natürlich das irre Verhalten von Chrome / Android und das hyperaggressive Caching. Es ist wie ein Inkognito-Modus, der nicht funktioniert (wovon die Rede ist ... das hat auch nicht richtig funktioniert ...)
PB unterstützt Monica
Ich habe gerade überprüft, dass das iPhone Chrome diese Option nicht hat, also denke ich, dass wir nicht über das Gleiche sprechen: Was mehr ist, ist keines in meinem Android Chrome "clear & reset". Um es dreifach zu überprüfen, habe ich meinen Vorschlag auf einem Xiaomi A1 getestet, der in Ordnung ist (beachte, dass die lokale Cachegröße der Seite in KB angezeigt wird). Möglicherweise müssen Sie den Tab schließen (oder versuchen, Chrome zu töten). Ansonsten frage ich mich, was der "Papierkorbknopf" einer bestimmten Site tun soll ...?
JCM
1

Ich finde nur eine elegantere Lösung. Fragen Sie im Menü der Webseite nach der Desktop-Version der Website. Es werden Daten vom Server abgerufen und die Seite wird neu geladen. Danach können Sie wieder zur mobilen Version zurückkehren.

Sergei Granovski
quelle
1
Nicht alle Websites bieten mobile / Desktop-Versionen an.
Ale
1
Die aktuelle Version von Chrome unter Android bietet die Option Desktop-Site anfordern. Unabhängig davon, ob alle Websites dieser Aufforderung nachkommen oder nicht, ist dies in vielen Fällen immer noch eine wirksame Option. Dies zu versuchen und herauszufinden, dass es nicht funktioniert, ist viel einfacher und schneller als das Löschen von Caches in Einstellungen.
Philip Jones
1

Ich brauche eine Möglichkeit, den aktuellen Cache oder den gesamten Cache derselben Ursprungsdomäne über Javascript zu löschen, damit ich sicherstellen kann, dass das Update-Rollout meiner Webanwendung fehlerfrei eintrifft.

Ich hatte auch keinen Erfolg bei der vorübergehenden Änderung der Cache-Meta-Tags im HTML-Header.

Nur auf dem Desktop und nicht automatisierbar:

ctrl + R

wird verwendet, um das Neuladen zu erzwingen, um den Cache zu löschen.

jetzt musst du drücken

ctrl + shift + R
or
shift + F5

Offenbar hat Chrom das Löschen des Caches erschwert.

Sie tun dies wahrscheinlich, um in Browserspeed-Benchmarks zu schummeln. VW Style.

Ich habe meine eigene Workaround-Funktion forceReload () geschrieben, die unter Windows Chrome und Android Chrome und Chrom funktioniert:

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);
};

Diese Funktion lädt nur Inhalte neu, die auf der aktuellen Seite geladen wurden. Sie können sie auf jedem Ihrer Clients einmal auslösen, nachdem sich neue Updates auf dem Server befinden, oder einfach eine funktionierende Aktualisierungsschaltfläche in Ihrer App hinzufügen.

Saxophon
quelle
Vielen Dank, dass Sie den Code geteilt haben. Fetch scheint immer noch eine experimentelle API zu sein, dann könnte wahrscheinlich auch eine andere experimentelle Cache-API nützlich sein.
Stan
-1

Ziehen Sie eine Seite nach unten, um sie neu zu laden. Sie ist in Chrome für Smartphones integriert. Weitere Tricks wie diese finden Sie unter diesem Link. Dort habe ich die Lösung für Ihr Problem gefunden

fsalazar_sch
quelle
1
Diese Funktion wurde zuletzt in Chrome-Browsern hinzugefügt (Version 41 oben). In älteren Versionen ist sie jedoch nicht verfügbar. Diese Funktion kann also funktionieren oder auch nicht. Und was noch wichtiger ist: Dadurch wird die Seite auf die normale Weise neu geladen, aber das OP fordert eine harte Aktualisierung an.
Lucky
Es ist nicht angegeben, ob die angeforderte Lösung unter dem Gesichtspunkt von Android oder Codierung ist
fsalazar_sch
1
Konnte nicht verstehen, was du damit meinst. Diese Antwort überzeugt mich jedoch nicht, dass sie eine Lösung für das OP-Problem bieten wird.
Lucky
Diese "Antwort" bedeutet im wahrsten Sinne des Wortes nur, dass Sie eine regelmäßige Aktualisierung durchführen können, indem Sie die Seite nach unten ziehen. Bei der Frage von OP ging es jedoch darum, auf dem PC eine "Hard Refresh" (STRG + F5) durchzuführen.
Bort
-3

Links neben dem Webadressfenster, das Sie besuchen, befindet sich ein fast kreisförmiger Pfeil.

Manolo
quelle
1
Ich glaube nicht, dass dies eine tiefe Erfrischung bewirkt, wie sie Stan verlangt.
DotVezz