Jak odświeżyć stronę internetową w Chrome (Ctrl + F5 analog) na urządzeniu bez przycisku menu?

16

Mam urządzenie z Androidem Nexus 7 z 4.2.2 i przeglądarką Chrome.

Jak przeprowadzić głębokie odświeżenie strony internetowej - analogi Ctrl+F5skrótu na komputerach?

Proszę zauważyć, że urządzenie nie ma przycisku menu.

Według jedynego powiązanego pytania, które tu znalazłem , rozwiązaniem jest całkowite wyczyszczenie pamięci podręcznej przeglądarki. Wolałbym bardziej wygodne i eleganckie rozwiązanie.

Stan
źródło
2
W jaki sposób związany jest przycisk menu (lub jego brak)?
eldarerathis
@eldarerathis, widziałem jakiś post w sieci, zasugerowałem, aby nacisnąć przycisk Odśwież narzędzie, trzymając klawisz Menu.
Stan
Ach, ciekawe. Nie słyszałem tego wcześniej.
eldarerathis
1
To pytanie ma o wiele lepsze odpowiedzi na StackOverflow (który pokazuje, jak nadmierne dzielenie społeczności nie pomaga; Android jest wystarczająco blisko programowania, dla którego nie warto tworzyć osobnej strony; Chemia kontra matematyka - na pewno.)
Dan Dascalescu

Odpowiedzi:

-2

Obejście pamięci podręcznej witryny:

Wymaga to prostego kodu javascript do uruchomienia w pasku adresu w celu ominięcia pamięci podręcznej i pobrania zawartości z serwera zamiast pamięci podręcznej przeglądarki. Zgodnie z tą stroną MDN dotyczącą Wymuszenia ponownego ładowania bieżącej strony z serwera ,

javascript:location.reload(true)

Wpisz powyższy kod w pasku adresu przeglądarki i naciśnij klawisz Enter. Spowoduje to pobranie całej zawartości z serwera zamiast wybierania elementów buforowanych w przeglądarce (w ten sposób omijając pamięć podręczną przeglądarki).

Bypass Cache data dla wszystkich stron internetowych (Global cache)

Powyższy skrypt javascript działa tylko w przypadku konkretnej witryny, którą właśnie otworzyłeś. Aby wyczyścić całą pamięć podręczną witryny, użyj globalnych danych pamięci podręcznej przeglądarki. Znajdziesz to pod

Settings > Privacy > CLEAR BROWSING DATA

Zaznacz pole wyboru „Pamięć podręczna” (i inne opcje, takie jak dane przeglądarki, pliki cookie, hasło itp., Jeśli chcesz) i wybierz „Wyczyść”.

Uwaga: Podczas gdy Ctrl+ F5spowoduje, że przeglądarka wyrzuci pamięć podręczną i zażąda nowej zawartości od serwera, serwer może zignorować no-cachenagłówek i wyświetlić stronę buforowaną po stronie serwera. Dlatego nawet Ctrl+ F5może zwrócić starą wersję strony, jeśli serwer zignoruje nagłówek bez pamięci podręcznej.

Tryb inkognito:

Przeglądanie trybu incognito wyłącza historię i pamięć podręczną. Możesz więc odwiedzić dowolną witrynę w trybie incognito, aby za każdym razem żądać nowych treści.


Aby uzyskać bardziej interesującą dyskusję na temat tego, co robi Ctrl+ F5lub wymuszenie odświeżania,

Przeczytaj ten post SO. Jakie żądania generują odświeżenia przeglądarki „F5” i „Ctrl + F5”?

Szczęściarz
źródło
To już nie działa w Chrome 47 .
Dan Dascalescu,
1
Nawet po wyczyszczeniu danych przeglądania głębokie odświeżanie nie miało miejsca. Musiałem zabić i ponownie uruchomić Chrome na moim telefonie z Androidem, aby zmusić go do pobrania z pamięci podręcznej. (Po namyśle wygląda na to, że nawet po wyczyszczeniu pamięci podręcznej na dysku (przypuszczalnie) pamięć podręczna jest nadal w pobliżu. Zabicie Chrome również wyczyści pamięć podręczną.) [PS: Przez „dysk” mam na myśli trwałe pamięć ulotna, inaczej pamięć flash.]
ADTC
3

Na moim tablecie Samsung przeglądającym w Chrome, wpisz to w pasku adresu:

javascript:location.reload(true)

To powinno spowodować ciężkie przeładowanie przy użyciu Javascript. Teraz nie muszę czekać dni, aby obserwować wyniki dokonanej przeze mnie zmiany kodu. Nowym problemem jest to, że pisanie na tablecie nie jest moją ulubioną rzeczą.

Zamiast wpisywać powyższe polecenie, próbowałem również przejść do trybu pulpitu, a następnie z powrotem. To nie głęboko odświeżyło.

Aad vd A.
źródło
2

Żadne z tych rozwiązań nie zadziałało. Znalazłem jednak działające rozwiązanie.

Najpierw znajdź adres URL css. W moim przypadku wyglądało to tak:

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

Wpisz go w polu adresu, ale także dodaj do niego zmienną GET:

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

Mamy nadzieję, że zmienna GET jest akceptowana. Ponieważ jest to nowy adres URL, zmusza css do przeładowania. Teraz wróć do strony i css powinien zostać ponownie załadowany.

Jens Törnell
źródło
2

Znalazłem to !!!!!!

Po lewej stronie adresu URL znajduje się ikona informacji (i) lub ikona kłódki. Kliknij ikonę, a następnie [konfiguracja strony internetowej].

Znajdziesz ikonę kosza do wyczyszczenia pamięci podręcznej bieżącej witryny oraz przycisk „przywróć preferencje”.

Praca na Androidzie Chrome 71.

JCM
źródło
1
Nie działa na mojej S9 +, wersja Chrome 73.0.3683.90. Uderzyłem opcję Wyczyść i zresetuj co najmniej 15 razy na kontrolowanej przeze mnie stronie (więc wiem, co robi kod całkiem dobrze). Jednak JS działający na stronie, którą ładuję, jest wciąż starą wersją.
SE uderza ponownie Niestety
1
Cóż, działało idealnie na moim S9, więc myślę, że dzieje się coś specyficznego dla twojej sprawy! Czy mógłbyś prosić o dalsze łupy?
JCM
Wypróbowałem to teraz na dwóch różnych urządzeniach, jednym w trybie programisty (mój telefon, ponieważ jestem programistą) i znajomym. Próbowałem też na tablecie; nie idź tam +. Próbowałem nawet na moim firmowym iPhonie przy użyciu Chrome i ten sam problem już istnieje. Z mojego punktu widzenia wydajesz się mieć szczęście, bardziej niż wydaje mi się, że mam do dyspozycji wiele wadliwych urządzeń.
SE uderza ponownie Niestety
Oczywiście, prawdziwym problemem jest funky zachowanie Chrome / Android i bardzo agresywne buforowanie. To jest jak tryb incognito, który nie działa (mówiąc o tym ... który też nie działał poprawnie ...)
SE znów uderza Niestety
Właśnie sprawdziłem, czy Chrome na iPhonie nie ma tej opcji, więc mówię, że nie mówimy o tym samym: co więcej, nie ma „wyczyść i zresetuj” w Chrome na moim Androidzie. Aby potroić to sprawdzić, przetestowałem moją sugestię na działającym OK Xiaomi A1 (zauważ, że wyświetla rozmiar lokalnej pamięci podręcznej strony w KB). Być może musisz zamknąć kartę (lub spróbować zabić Chrome). W przeciwnym razie zastanawiam się, jaki jest oczekiwany „przycisk kosza” jednej konkretnej witryny…?
JCM
1

Po prostu znajduję bardziej eleganckie rozwiązanie. W menu strony internetowej zapytaj o wersję komputerową witryny. Spowoduje to pobranie danych z serwera i przeładowanie strony. Następnie możesz wrócić do wersji mobilnej jeszcze raz.

Siergiej Granowski
źródło
1
Nie wszystkie strony internetowe oferują wersje mobilne / stacjonarne.
ale
1
Obecna wersja Chrome na Androida ma opcję Poproś o stronę na komputery. Niezależnie od tego, czy wszystkie witryny honorują to żądanie, czy nie, w wielu przypadkach nadal jest to skuteczna opcja. Wypróbowanie tego i stwierdzenie, że nie działa, jest znacznie łatwiejsze i szybsze niż czyszczenie pamięci podręcznej w ustawieniach.
Philip Jones
1

Potrzebuję sposobu, aby wyczyścić bieżącą pamięć podręczną lub całą pamięć podręczną z tej samej domeny źródłowej za pomocą javascript, więc mogę mieć pewność, że aktualizacja mojej aplikacji internetowej pojawi się bez błędów.

Nie udało mi się również tymczasowo zmienić metatagów pamięci podręcznej w nagłówku HTML.

Tylko na komputerze i nie można go zautomatyzować:

ctrl + R

używane do wymuszenia przeładowania w celu wyczyszczenia pamięci podręcznej.

teraz musisz nacisnąć

ctrl + shift + R
or
shift + F5

Wygląda na to, że chrom utrudnił wyczyszczenie pamięci podręcznej.

Prawdopodobnie robią to, aby oszukiwać w testach prędkości przeglądarki. Styl VW.

Napisałem własną funkcję obejścia forceReload (), która działa w systemach Windows Chrome i Android Chrome i chrom:

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

Ta funkcja przeładuje tylko zawartość, która została załadowana na bieżącej stronie, możesz ją uruchomić raz na każdym z klientów po nowych aktualizacjach na serwerze lub po prostu dodać działający przycisk odświeżania do aplikacji.

saksofon
źródło
Dziękujemy za udostępnienie kodu. Pobieranie wydaje się wciąż eksperymentalnym interfejsem API, więc prawdopodobnie przydatny może być również inny eksperymentalny interfejs API pamięci podręcznej.
Stan
-1

Pociągnij w dół na stronie, aby ją ponownie załadować, ncorporated to chrome dla smartfonów, aby zobaczyć więcej takich sztuczek, sprawdź ten link, w którym znalazłem rozwiązanie twojego problemu

fsalazar_sch
źródło
1
Chociaż ta funkcja została ostatnio dodana do przeglądarki Chrome (wer. 41 powyżej), nie będzie dostępna w starszych wersjach. Ta funkcja może, ale nie musi działać. Co ważniejsze, powoduje to tylko ponowne załadowanie strony w normalny sposób, ale OP prosi o twarde odświeżenie.
Lucky
Nie jest określone, czy wymagane rozwiązanie jest pod kątem Androida lub kodowania
fsalazar_sch
1
Nie mogłem zrozumieć, co masz na myśli. Ale ta odpowiedź nie przekonuje mnie, że zapewni rozwiązanie problemu PO.
Lucky
Ta „odpowiedź” dosłownie mówi ludziom, że możesz wykonać regularne odświeżanie, przeciągając w dół stronę. Pytanie OP dotyczyło jednak przeprowadzenia „twardego odświeżania”, CTRL + F5 na PC.
Bort
-3

Po lewej stronie okna adresu internetowego, które odwiedzasz, znajduje się prawie okrągła strzałka.

Manolo
źródło
1
Nie wierzę, że to powoduje głębokie odświeżenie, o które prosi Stan.
dotVezz