Android için Chrome'da yeniden yüklemeyi nasıl zorlayabilirim


207

Masaüstü için Chrome'da geliştirici araçlarında geliştirici araçları açıldığında önbelleği tamamen devre dışı bırakma seçeneklerim var ve yeniden yükle düğmesine uzun süre tıkladığınızda elle sabit bir yeniden yükleme yapma seçeneklerine sahibim (geliştirici araçları açıkken).

Android için Chrome için böyle bir teknik var mı? Hiçbir ayar bulamadım. Geliştirirken önbelleğe alınmış bir dosyayı kullanmak yerine tarayıcıyı bazı javascript veya css dosyası indirmeye zorlamak istediğimde ne yapabilirim?



Sadece istikrarlı bir web uygulamasını genişletmek için (ne olmuştu) döndü ve bunun olduğunu keşfetti. En son durum verileri, önbellek bozucu url sonekine sahip bir .js dosyasında depolanır. Windows, ChromeOS veya Android'de Chrome'da artık çalışmaz.
Euan M

basit bir yenileme gibi görünüyor (w ok çemberini tıklamak) bu günlerde herhangi bir değişikliği tespit ediyor. hile yok. ... yanılıyorsam bana haber ver.
Ronnie Royston

Yanıtlar:


167

MDN (ve bu benzer soru) window.location.reload(true)göre kullanıyorum sayfa sunucudan yeniden yüklemek için zorlar.

javascript:location.reload(true)Adres çubuğuna yazarak bu kodu tarayıcıda yürütebilirsiniz .


7
Sadece kodu öneki adres çubuğuna yazın javascript:.
Konrad Dzwinel

4
Aslında, window.parçadan kaçınabilmelisiniz . javascript:location.reload(true)hile yapmalı.
Konrad Dzwinel

5
krom v55.0.2883.91 / android5.1.1'de benim için çalışmadı
Kev

20
Android 7.1.1'de benimki üzerinde çalışmıyor, v56.0.2924.87. Neden yenile vurabilir ve tarayıcının eskiden olduğu gibi yeniden indirilmesini sağlayabilirsiniz? Gelişmeye çalışırken böyle bir sıkıntı.
Scott Wilson

33
Gizli bir pencere açıyorum
Deepak Kamat

133

Sayfayı gizli modda görüntülemek önbelleği devre dışı bırakır. Ayarları kullanarak önbelleği manuel olarak temizlemeden bir stil sayfasında yenilemeyi zorlamanın tek yolu buydu.


2
@Kev Benim için de değil.
Ricky Boyce

1
Evet, bu benim için Chrome 59 ile Android 6.0.1'de çalışıyor.
Avio

4
Bu, en azından Android 7.1.2 ve Chrome 61'de kabul edilen yanıttan daha iyi çalışıyor. Önbellekleme bir şekilde gerçekten agresif. Bu alan için önbelleğe alınmış dosyaları boşaltmak bile benim için çalışmadı.
Ogier Schelvis

Daha sık kullanıyorum, eğer sizin için çalışmıyorsa, muhtemelen önbellek tarayıcıda değil sunucudadır.
Deepak Kamat

2
Gizli modda önbelleği yalnızca ilk kez temizler. Bundan sonra aynı sorun ortaya çıkıyor
Mara

75

Ayrıca bir seçenek:

  1. Menü
  2. Ayarlar
  3. Gizlilik
  4. Tarama Verilerini Temizle
  5. "Önbellek" i işaretleyin ve "CLEAR" a basın

ve ardından sayfayı yeniden yükleyin.


1
Şimdi onay kutusunu kullanarak kontrol Clear Browsing Dataedebilirsiniz, olarak değiştirildi clear cache.
shaijut

1
Hayır, sonra da KILL Chrome, Chrome'u yeniden başlatın ve sayfayı yeniden yükleyin. Evet, daha da kötüleşti.
ADTC

4
Güncelleme: Chrome'u öldürmek bile artık çalışmıyor. "Önbelleğe alınmış görüntüler ve dosyalar" seçeneği temizleyen cehennem hiçbir fikrim yok .. hala önbelleğe alınmış CSS dosya üzerinde tutar. Bu daha saçma oluyor!
ADTC

1
Güncelleme: Heidgert'ın cevabına bakın. Chrome ayarlarında "Veri Tasarrufu" açıksa, önbelleği temizlemek yine de Google'ın sunucularından "önbellek" sonucu yükleyebilir.
ADTC

1
Bu, önbelleği yalnızca denetlenen siteden değil, TÜM sitelerden temizler.
Obmerk Kronen

46

Sayfayı yeniden yüklemeye zorlayacak uygulama menüsünden (adres çubuğunun sağında) Masaüstü Sitesi İste seçeneğini kullanabilirsiniz .

Sadece dokunun, yenilemeyi bekleyin, ardından seçimini kaldırın.


Chrome'da çalıştığı onaylandı. Gözden kaçarken bu cevabı neredeyse kaçırmıştım. Bir sonraki kişiye yardım etmek için Firefox hakkındaki yorumlar kaldırıldı. Umarım bu yazarın niyetiyle çelişmez .
Ishmaeel

1
Bu, sıkışmış bir css veya js dosyası aldığınızda geliştirme için en iyi cevaptır. Genellikle ferahlatıcı çalışır, ancak bazen açıklanamayan bir nedenden ötürü bir js veya css dosyası sıkışır ve bulduğum onu ​​açmanın tek yolu budur. Ben çok kolay bir düzeltme çünkü 1'den fazla upvote verebilir lol isterdim.
Lizardx

8
Bu bir süre önce çalışıyordu, ancak Aralık 2017 itibariyle kromun yeni bir sürümünde artık çalışmıyor.
Capagris

1
Bu, Samsung Android 5.1.1'de Chrome 2018 65.0.3325.109 ile çalıştı; SM-T900 Yapı / LMy47X. Önbelleğe alınmış verileri ( localStoragedeğerler gibi ) yok etmemenin ek bir yararı vardı .
KOD-READ

1
Nisan 2019'da çalışmaz. Chrome 73+ çalışmaz.
SE Yine Grevler Ne yazık ki

31

Bunu belirtmek çünkü "gelişirken" bahsetmiştin.

Mobil cihazı Chrome Masaüstü Tarayıcınız üzerinden kontrol edebilirsiniz.

chrome://inspect/#devicesMasaüstünüzde ziyaret edin . Ve Inspectmasaüstünüze bağlı cihaz. İzin istendiğinde kabul edin.

Artık mobil cihazdaki geçerli sayfa için tam teşekküllü bir Devtool penceresi görmelisiniz.

Şimdi, mobil cihazda sabit yeniden yükleme yapmak için masaüstündeki sabit yeniden yükleme kısayolunu (Cmd + Üst Karakter + R) kullanın!


3
bu yorum güncel değil ama beni doğru yola koy. İlk önce Chrome'da hata ayıklamak için gerçek telefonu etkinleştirmeniz gerekir.
Deborah

Bir Android telefonda USB hata ayıklamayı etkinleştirme hakkında ayrıntılı talimatlar için bkz . Stackoverflow.com/a/16707217/1024735 . Ve bu özellik sadece zor yeniden yükleme yeteneğinden daha fazlası için harika. Teşekkürler!
kevinmicke

Android emülatörlerinde test etmek için cihazlarda Ctrl + Shift + R gerçekten güzel ve hızlı. Herhangi bir ayarın açılması ve kapatılması vb. Teşekkürler.
Rainer Schwarze

21

Yerel önbelleğiniz temizlenmiş olsa bile önbelleğe alınmış verileri (Google sunucularından mı?) İndiriyor gibi göründüğü için "Veri kullanımını azalt" ayarının KAPALI olduğundan emin olun.


1
Bu ayarın artık basitçe "Veri Tasarrufu" olarak adlandırıldığını düşünüyorum.
17'de Bletch

19

Android için Chrome Mobile'da belirli bir URL / Web sitesi için tüm veriler nasıl sıfırlanır:

1 - Chrome menüsünü açın ve "i (bilgi)" simgesine dokunun

bir

2 - "Site ayarları" na hafifçe vurun

iki

3 - Çöp kutusu simgesine dokunun

üç

İşte bu, bu URL için en derinden hizmet verilen servis çalışanı bile şimdi ölecek.


7
Bu , Samsung S9 + 'da Chrome 73.0.3683.90'da çalışmaz. Bu, javascript: location.reload (true) yanı sıra, 15 kez denedim ve çalışmıyor. Karanlığın efendisi Guug-Ul'a göre Android kullanıcıları da geliştirici olamaz.
SE Yine Grevler Ne yazık ki

Not 8 üzerinde çalışıyor .. Ama sonra sayfayı yenilemek zorunda.
Chris Cudmore

Bu menüyü, URL'nin solundaki kilit simgesini (veya güvenli olmayan bağlantılar için görüntülenen her şeyi) tıklayarak da alabilirsiniz.
Chris Cudmore

Şimdiye kadar en iyi çözüm! <3
bArraxas

12

Bunun eski bir soru olduğunu biliyorum, ama kabul edilen cevabın benim için işe yaramadığını gördüm.

Alternatif bir çözüm, URL'yi yeni bir url parametresi ile eklemek, örneğin website.com?a=1,website.com?a=2 vb

Zaten parametreleriniz varsa, elbette, bir ve işareti kullanırsınız. website.com?q=test&a=1


Bu çalışıyor. Sadece bir ?akez yeniden yüklemek istiyorsanız yeterlidir.
Dan Dascalescu

11
Bu, ?asite ana bilgisayarı olmadıkça, elbette - eklemek için ana HTML'yi gerçekten düzenleyemeyeceğiniz için, önbelleğe alınmış referans dosyalarını (CSS veya JS gibi) yeniden yüklemek için çok uygun değildir .
ADTC

7

2018 itibariyle, google yardım merkezinden (Chrome 63'te test edildi):

  1. üç nokta menüsüne dokunun ;
  2. Geçmiş> Tarama verilerini temizle'yi seçin ;
  3. Gerekirse zamanı seçmek periyodunu (kontrol listesi üzerinde);
  4. Önbelleğe alınmış resimler ve dosyalar dışındaki tüm öğelerin işaretini kaldırın ;
  5. Verileri temizle ile devam edin ve onaylayın.

Başka bir cevapta belirtildiği gibi, gizli sekmeler de geliştirme için çok yararlıdır.


3. adıma dikkat edin: süreyi seçin. Önbelleğe alınmış sayfaları 3 hafta öncesinden temizlemeye çalıştığım için bu benim için hile yaptı.
Dror

Bu senin hatan değil ama bu, diğer tüm siteler için tarama verilerini de temizlediği için oldukça korkunç bir çözüm, bu da tarayıcınızı dev iş dışında bir şey için kullanırsanız bir acıdır!
GameKyuubi

@GameKyuubi Aslında, son bir saatten itibaren veri seçerseniz, ağrı sınırlıdır. Ama bu çözüm oldukça zayıftır elbette resmi biri olduğu, bunu sadece başvurulan ve does (aksine birkaç diğerlerine) çalışmalarını.
Skippy le Grand Gourou

Demek istediğim budur, bunun resmi çözüm olması düpedüz utanç vericidir.
GameKyuubi

7

İşe yarayan bir çözüm buldum, ama bu çirkin.

  • Android cihazı bir USB kablosuyla PC'nize bağlayın ve masaüstünüzde Chrome'u açın .
  • Sayfanın herhangi bir yerine sağ tıklayın ve "İncele" yi seçin.
  • Üç noktalı menüyü tıklayın ve "Diğer araçlar" menüsü altındaki "Uzak cihazlar" ı seçin:

    resim açıklamasını buraya girin

  • Açılan panelde cihazınızı ve ardından telefonunuzda yenilenmesi gereken sekmenin adının yanındaki "İncele" düğmesini seçin:

    resim açıklamasını buraya girin

  • Açılan pencerede "Ağ" sekmesini tıklayın ve "Önbelleği devre dışı bırak" onay kutusunu işaretleyin:

    resim açıklamasını buraya girin

  • Sayfayı telefonunuza yeniden yükleyin veya DevTools penceresindeki yeniden yükle düğmesini kullanın.

Not: telefonunuz cihaz listesinde görünmüyorsa:

  • USB bağlantısının Dosya Aktarım modunu kullandığından ve yalnızca şarj olmadıklarından emin olun
  • ADB'yi yeniden başlatmayı deneyin veya adb devicescihazın algılanıp algılanmadığını görmek için çalıştırın

1
harika bir çözüm, bu temelde doğrudan masaüstünde cihazın web sayfasını "incelemek" için çalışır ve siz de önbelleği temizleyebilirsiniz. Teşekkürler.
juanram0n

Bu aslında en güzel cevap.
John

6

Uzaktan Hata Ayıklama , masaüstü geliştirici araçlarını kullanmanızı sağlar:

https://developers.google.com/chrome-developer-tools/docs/remote-debugging


evet teşekkürler biliyorum zaten - bu söz gerekirdi, ama bazen ben takmak istemiyorum ama yine de bu seçeneği var
Riesling

2
Önbelleği şu şekilde temizleyebilirsiniz: support.google.com/chrome/answer/2392709
Swonkie

5
Teşekkürler, tüm siteler için tüm önbelleği temizlemeden bir seçenek olsa iyi olurdu
Riesling

Ağ> Önbelleği Devre Dışı Bırak
Rupert Rawnsley 28:17

6

Chrome'un son sürümleri çok agresif bir şekilde önbellekleniyor. " Http: // url? Updated = datecode " gibi önbellek bozma teknikleri bile çalışmayı durdurdu. Her seferinde önbelleği temizlemeli veya gizli bir pencere açmalısınız (ve veri tasarrufunun kapalı olduğundan emin olmalısınız).


İlginç, bunun farkında değildim. Bu iddiayı destekleyen bir kaynağınız var mı?
Antoine

2
Bu sadece kendi Javascript uygulamalarımı geliştirirken gözlenen bir davranış. (Chrome eski kodu önbelleğe alma konusunda ısrarcı olduğu için) sadece gitmeyecek olan hatalar üzerinde çıldırmamak için geliştirme web sunucumdan HTTP başlığında CACHE-CONTROL: NO-CACHE yönergesini belirtmek zorunda kaldım. Firefox bu davranışı göstermiyor.
Greg Searle

4

Telefonun bir PC'ye takılmasını gerektirmediğini tespit ettiğim tek güvenilir yol şöyle:

1. Chrome uygulamasını durmaya zorlayın.

Bu olmalı önce yapılması ve bu adımları tamamlayana kadar Chrome'u yeniden açamazsınız. Durmaya zorlamanın birkaç yolu vardır. Çoğu ev başlatıcısı, parmağınızı krom simgesine basılı tutarak ve bir "i" simgesi seçerek "Uygulama bilgileri" 'ne erişmenizi sağlar. Alternatif olarak, Android ayarlarına gidebilir ve "Chrome" u arayabilirsiniz.

"Uygulama bilgileri" ne girdikten sonra, aşağıda gösterildiği gibi "Zorla durdur" u seçin:


2. Chrome'un önbelleğini temizleyin

Aynı ekrandan "Depolama" yı seçin:


Son olarak, "Önbelleği temizle" yi seçin.

Chrome uygulamasına geri döndüğünüzde sayfanın kendisini yeniden yüklemesi ve önbelleğe alınmamış bir sürümü sunması gerekir.

Ayrıca, önbelleğinizi temizleyip temizlemediğinizi test etmeyi kolaylaştıran bir site buldum: https://refreshyourcache.com/en/cache-test/
Ben hiçbir şekilde ona bağlı değilim. Söz konusu sitede belirtilen önbelleği temizleme yönteminin aslında eski ve artık geçerli olmadığını unutmayın.


1
Mükemmel, USB hata ayıklama olmadan benim için çalışan tek çözüm bu.
Luis Lema

2

EDIT: Bu yöntem Google Chrome'da kullanımdan kaldırıldı ve artık çalışmaz.

ORİJİNAL CEVAP:

Chrome: // net-internals kullanarak önbelleği (sonraki xhr dahil) temizleyebildim

chrome net internals

Ardından sağ üstteki küçük oku tıklayın

Menü

Bu menüden "önbelleği temizle" yi seçin.


Chrome 75'te chrome: // net-internals "Net-internals etkinlik görüntüleyicisi ve ilgili işlevler kaldırıldı ..." diyor
Bort

@Bort dikkatleri için teşekkürler. Bu yöntem artık işe yaramayacak gibi görünüyor.
Tom Kay

1

İşte diğerleri başarısız olduğunda çalışabilecek başka bir basit çözüm :

Bugün, önbellekleme sorunu önbelleğe alınmış bir CSS dosyası olduğunda oldukça basit bir geliştirici tarafı çözümü benim için çalıştı. Kısaca: Geçici bir html dosyası kopyası oluşturun ve CSS önbelleğini güncellemek için dosyaya göz atın.

Bu hile, en azından Android'in mavi küre işaretli varsayılan tarayıcısında (ancak büyük olasılıkla ikiz, resmi Chrome tarayıcısı ve agresif önbellekleme eğilimi ile "akıllı" telefonlarda karşılaştığımız diğer tarayıcılarda CSS dosyasını yenileyebilir. ).

Detaylar:

İlk başta burada paylaşılan oldukça basit çözümlerden bazılarını denedim, ancak başarılı olamadım (örneğin, belirli sitenin yakın geçmişini temizlemek, ancak aylar ve aylar değil). Ancak en son CSS'm apon yenileme uygulanmaz. Ve geçmişte bu sinir bozucu agresif önbelleklerden kaçınmama yardımcı olan html'nin baş bölümünde CSS dosya çağrısında sürüm numarası hilesini zaten kullanmış olmama rağmen. (örnek: link rel = "stylesheet" href = "style.css? v = 001", bir CSS dosyasında her değişiklik yaptığınızda bu sözde sürüm numarasını yükselttiğinizde, örn. 001, 002, 003, 004 ... (sitenin her html dosyasında yapılmalıdır))

Bu kez (Ağustos 2019) CSS dosya sürüm numarası güncellemesi artık yeterli değildi, burada belirtilen daha basit önlemlerin bazıları benim için işe yaramadı veya bazılarına (ödünç alınmış bir android telefonda) bile erişemedim.

Sonunda sorunu çözen nispeten basit bir şey denedim:

Sitenin index.html dosyasının bir kopyasını farklı bir ad (indexcopy.html) vererek yaptım, yükledim, Android cihazında ona göz attım, sonra orijinal sayfaya geri döndüm, yenileyin (yenileme düğmesi solda) adres çubuğu) ve voilà: Bu sefer index.html dosyasının yenilenmesi nihayet işe yaradı.

Açıklama: En son CSS dosya sürümü artık söz konusu html sayfasını yenilerken Android'de uygulandı, çünkü CSS dosyasının önbelleğe alınmış kopyası, CSS dosyası hiçbir yerde var olmayan farklı adlandırılmış geçici bir html sayfasından çağrıldığında güncellenmişti. ve daha sonra tekrar silebilirim. Agresif önbellekleme, görünüşe göre CSS URL'sini yok saydı ve önbellekte güncellenmesi gereken CSS dosyası olmasına rağmen HTML URL'si tarafından gitti.


Ne yazık ki, günümüzde işe yarayan tek kişi bu. Bu, css üzerinde çalışırken, sürümü yükseltmek için wordpress'te function.php'yi güncel tutmanız gerektiği anlamına gelir. Evet, düşünemeyen ve şu anda microsoft ile birlikte olan google hakkında başka bir aptal şey. Ama evet, eski bir hile :)
Gavin Simpson

1

Sadece dahil edilen dosyalar meselesiyse, yoldan sonra sürüm ekleyin ( ?v=12345678)

<link rel="stylesheet" type="text/css" href="style.css?v=12345678" />

Sayfayı tekrar yükleyen kişi değişiklikleri görür.


1
Yetersiz cevap!
lisandro
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.