Web sitesi geliştirme için Chrome önbelleğini devre dışı bırakma


1607

Bir sitenin görünümünü değiştiriyorum (CSS değişiklikleri) ancak can sıkıcı kalıcı önbellek nedeniyle Chrome'da sonucu göremiyorum. ShiftYenilemeyi denedim ama işe yaramıyor.

Önbelleği geçici olarak nasıl devre dışı bırakabilirim veya değişiklikleri görebileceğim şekilde sayfayı nasıl yenileyebilirim?


185
Bu muhtemelen en kötü Chrome hatasıdır. İşlerin neden yanlış gittiğini merak etmek için çok fazla zaman harcadım, sadece bulmak için - ^ F5 ile tam bir yeniden yükleme yapmaya rağmen - bir saatlik eski bir kaynak kullanıyor.
Glenn Maynard

45
Tarayıcıların önbelleğe alması gerekiyor. Unutmayın, kullanıcılarınız da önbellekleyecektir - bu nedenle siteniz üretildikten sonra yaptığınız değişiklikleri görmeyebilir. Bundan kaçınmanın yolu dosyalarınızı sürümlendirmektir. my_css.css? version = something_unique. Tarayıcı sürümü daha önce görmediyse dosyayı tekrar indirir. Bir şey, örneğin, son değiştirilme tarihi olabilir.
user984003

34
@ user984003 Ctrl+Shift+Rveya Shift+Rönbelleği yıkamalı ...
Adonis K. Kakoulidis

19
@ user984003 Önbelleklememelerini söylersem olmaz. Evet, önbellek bozan bir sürüm numarası, kullanıcıların kullandığı gibi son sürüm için harika, ancak yeni bir site oluştururken ve gittikçe artan değişiklikleri görmek istediğimde, her seferinde sürüm numarasını değiştirmiyorum . Bu yüzden Firefox ile geliştiriyorum - en güvenilir önbellek engelleme seçeneklerine sahip!
andrewb

11
@ user984003 evet, tarayıcıların tarama yaparken önbelleğe alması gerekiyor. Gelişirken, bunun üzerinde daha fazla kontrole ihtiyacınız var.
ahnbizcad

Yanıtlar:


1976

Chrome DevTools önbelleği devre dışı bırakabilir.

  1. Sağ tıklayın ve Inspect ElementDevTools'u açmayı seçin . Veya aşağıdaki klavye kısayollarından birini kullanın :
    • F12
    • CommandMac'te + Option+i
    • ControlWindows veya Linux'ta + Shift+i
  2. NetworkAğ bölmesini açmak için araç çubuğunu tıklayın .
  3. KontrolDisable cache üst kısmındaki onay.

geliştirme araçları panelinin ekran görüntüsü

Bir şekilde, unutmayın tweet gelen @ChromiumDev belirtti, bu ayar devtools açık iken sadece aktif .

Bunun tüm kaynakların yeniden yüklenmesine neden olacağını unutmayın . Önbelleği yalnızca bazı kaynaklar için devre dışı bırakmak isterseniz, sunucunuzun dosyalarınızla birlikte gönderdiği HTTP üstbilgisini değiştirebilirsiniz .

Disable cacheOnay kutusunu kullanmak istemiyorsanız , DevTools açıkken yenile düğmesine uzun basıldığında, benzer bir etkiye sahip Hard Reloadveya Empty Cache and Hard Reloadbenzer bir etkiye sahip olması gereken bir menü gösterilir . Seçenekler arasındaki fark hakkında bilgi edinin . Aşağıdaki kısayollar kullanılabilir:

  • CommandMac'te + Option+R
  • ControlWindows veya Linux'ta + Shift+R

uzun basma


255
Deneyimlerime göre, bu ayar (ve bu paneldeki tüm ayarlar) yalnızca geliştirici araçları açıkken
Johann

28
@Steve Bu benim için çalışmıyor. Chrome 19.0.1084.52 sürümüm olmasına rağmen hiçbir değişiklik almıyorum ve önbelleği devre dışı bırakmak için kutuyu işaretledim. Geliştirme paneli açıkken denedim. Kapalı olarak denedim. Hatta tarayıcımı yeniden başlatmayı, sonra bilgisayarımı yeniden başlatmayı denedim. Hala sayfanın önbelleğe alınmış bir sürümünü vermeye devam ediyor gibi görünüyor. Ne yapmalıyım? Chrome daha önce bana böyle sorunlar verdi, bu yüzden bilgisayarımdan google ile ilgili her şeyi sildim, ardından kromu geri yükledim. "Sonsuza kadar yükleme geçmişi sekmesi" gibi birçok şeyi düzeltti. Sanırım hala çalışmıyor.
Tgwizman

11
Ayarı değiştirdikten sonra mevcut sayfayı yenilerken bunun işe yaramadığını gördüm. Sadece uzağa gittiğimde ve tekrar çalıştığımda çalışmaya başladı.
Matt Gibson

3
... ya da gizli modda hata ayıklayabilirsiniz! (hiçbir dosyayı önbelleğe almaz)
Kwame

5
bu ayar web geliştirme tarihindeki en büyük yalan. Bilgisayarım yeniden başlatıldı ve firefox güncel olarak css görüntülenirken krom hala yanlış sonuçlar gösteriyor :(
Claudiu Creanga

247

resim açıklamasını buraya girin

Önbelleği temizlemek saatte 30 kez önbelleği temizlemeniz gerektiğinde çok can sıkıcı bir durumdur. Bu nedenle , her sayfa yüklemesinde önbelleği temizleyen Klasik Önbellek Katili adlı bir Chrome Uzantısı yükledim .

Chrome Mağazası Bağlantısı (ücretsiz) (Artık kötü amaçlı yazılım olmadan!)

Şimdi benim sahte json, javascript, css, html ve veri yenilemeleri her zaman üzerinde her sayfa yüklemesinden .

Ben asla Önbelleğimi temizlemek gerekiyorsa endişe var.

Bulduğum Chrome için yaklaşık 20 önbellek temizleyici var, ancak bu hafif ve sıfır çaba gibi görünüyordu. Bir güncellemede, Cache Killer artık "her zaman açık" kalabilir.

Not: Eklenti yazarını hiçbir şekilde bilmiyorum. Sadece yararlı buldum.


4
Evet, Chrome Geliştirme Araçları seçeneği benim için çalışmıyor gibi görünüyor. Ancak önbellek katili cazibe gibi çalışır. Yeniden yükleme süresi 4-5x gibi önemli ölçüde daha yavaştır, ancak yeni içeriğin gerçek sunumu açıkça daha hızlıdır.
Bryce Johnson

2
Önbelleği Temizle ve Önbelleği Devre Dışı Bırak, yalnızca mac'umdaki localhost üzerinde çalışırken çalışır. Çevrimiçi içerik için, herhangi bir değişikliği görme umuduyla canlandırıcı ve canlandırıcıyım. Bu uzantı bir cankurtaran.
Sbpro

2
Önbelleği Devre Dışı Bırak kullanmanın yerel depolama, özellikle Auth0 ile açısal depolama ile ilgili sorunlara neden olduğunu buldum. Cache Killer mükemmel bir şekilde çalışır ve yerel depolama ile ilgili sorunlara neden olmaz.
trevorc

5
Kötü amaçlı yazılım nedeniyle Chrome Uzantı Mağazası'ndan kaldırıldı :( Alternatifler?
Semyon Vyskubov

3
Kendi yazdığım sona erdi, aynı çalışıyor ama sekme başına geçiş yapabilirsiniz. MIT Lisansı ve kötü amaçlı yazılım yok, söz veriyorum 😎! github.com/themichaelyang/cache-clearer
Michael Yang

199

Yeniden yükle menüsünün resmi

  1. F12Ve düğmelerine basarak (konsol açıkken) Chrome geliştirici konsolunu yukarı çekin :

  2. Tarayıcının üst kısmındaki yeniden yükle düğmesini sağ tıklayın (veya sol tıklamayı basılı tutun) ve "Önbelleği ve Sabit Yeniden Yükleme'yi Boşalt" ı seçin.

Bu, önbelleği tamamen boşaltmak için "Sabit Yeniden Yükleme" nin ötesine geçerek, javascript vb. Yoluyla indirilen herhangi bir şeyin de önbelleği kullanmaktan kaçınmasını sağlar. Ayarlarla ya da herhangi bir şeyle uğraşmak zorunda değilsiniz, hızlı bir 1 çekim çözümü.


7
iyi olsa da kesinlikle mac üzerinde çalışmıyor, çeşitli anahtar kombinasyonları ile yeniden yükle düğmesine tıkladım;)
MJB

1
Sabit yeniden yükleme nedir?
ManirajSS

@ManirajSS: Her şeyi yeniden yükleyecek ve önbelleği kullanmaktan kaçınacaktır, ancak sayfa yüklendikten sonra javascript tarafından indirilen şeyleri yeniden indirmeyecektir. Kimsenin bunu neden kullanacağından emin değilim, ama sanırım faydalı olabilecek birkaç köşe vakası olabilir.
JackArbiter

2
Sayfanın içindeki iç çerçeveler için önbelleği de temizlemez.
Pablo Mescher

7
Bunun ne kadar süredir doğru olduğundan emin değilsiniz, ancak Chrome 41'den itibaren, geliştirici araçları penceresini açık olmanız koşuluyla OS X'te yeniden yükle düğmesini tıklayın ve basılı tutun.
Tim Keating

47

Chrome'da sayfa önbelleğini iyi bir şekilde devre dışı bırakmak için iki seçenek daha vardır :

1. Kayıt Defteri'nde Chrome Önbelleğini Devre Dışı Bırakma

Kayıt Defterini Aç (Başlat -> Komut -> Regedit)

Aramak: HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command

Sonra ... chrom.exe "kısmını bu değere değiştirin: –disable-application-cache –media-cache-size=1 –disk-cache-size=1 — "%1"

Misal: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -disable-application-cache –media-cache-size=1 –disk-cache-size=1 — "%1"

ÖNEMLİ:

  • orada bir boşluk ve kısa çizgi sonra ... chrome.exe "

  • olduğu gibi chrome.exe yolunu bırakın

  • Satırı kopyalarsanız, tırnakların gerçek tırnak olup olmadığını kontrol ettiğinizden emin olun.

2. Kısayol özelliklerini değiştirerek Chrome önbelleğini devre dışı bırakın

Chrome simgesini sağ tıklayın ve içerik menüsünde "Özellikler" i seçin. Yola aşağıdaki değeri ekleyin: –disk-cache-size=1

Misal: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" –disk-cache-size=1

ÖNEMLİ:

  • orada bir boşluk ve kısa çizgi sonra ... chrome.exe "

  • olduğu gibi chrome.exe yolunu bırakın


1
cevabınızı daha okunabilir hale getirmek için kod etiketlerini kullanın. Bunun en iyi cevaplardan biri olabileceğini düşünüyorum.
ThorSummoner

3
İyi cevap. Çoğu insan için önbelleği devre dışı bırakmak geliştirme sırasında sadece geçici bir şeydir. Kalıcı olarak devre dışı bırakmak, normal bir tarama deneyimini önemli ölçüde yavaşlatır ve ziyaret ettiğiniz web sunucularına gereksiz yük bindirdiği için bir tür kötü İnternet vatandaşlığıdır.
danielson317

3
Kötü internet vatandaşlığı konusuna katılmıyorum, burada geliştirici çalışma için kısayol oluşturma hakkında konuşuyoruz. Bu kesinlikle IMHO'nun en iyi cevabı. Sadece küçük bir şey. Bunu Windows'ta bu SO sayfasından bazı Chrome kısayollarına her kopyaladığımda, bazı karakterler doğru çıkmıyor. Bunlar doğru olanlar: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-application-cache --media-cache-size=1 --disk-cache-size=1Ayrıca, daha önce karakter "%1"nedir? Bilmiyorum.
peter.petrov

32

Chrome ayarlarını düzenlemek istemiyorsanız aynı sonuçlar için gizli modu kullanabilirsiniz.


22

Önbellek devre dışı bırak seçeneğine ek olarak (geliştirici araçları penceresinin sağ alt köşesindeki bir düğme aracılığıyla erişebilirsiniz - Araçlar | Geliştirici Araçları veya Ctrl+ Shift+ I), geliştirici araçlarının ağ bölmesinde artık sağ tıklayabilirsiniz ve açılır menüden "Önbelleği Temizle" yi seçin.


22
  1. F12 DevTools nasıl açılır
  2. F1 Ayarları nasıl açılır
  3. Kontrol (DevTools açıkken) devre dışı bırak önbellek aşağıda gösterildiği gibi:

Bu, şu anda varsayılan olan Tercihler sekmesindedir. Aşağı kaydırmanız gerekebilir. Bu soru sorulduğundan beri bu onay kutusu en az birkaç kez taşındı. Son kontrol ettim, alttaki orta sütundaydı. Ekranı daha ince bir ekranda açarsanız ve Tercihler altında 2 sütun varsa, sağ üst köşeye yakın olabilir. Değişirse veya yorum yaparsa bu yayını güncellemekten çekinmeyin, ben de yayını güncelleyeceğim.

resim açıklamasını buraya girin


2
Bu, doğrudan F12 Chrome Devtools'ta "Önbelleği devre dışı bırak" seçeneğini işaretlemekle aynı şeydir ve Chrome'u yeniden başlattığınızda sıfırlanır.
Bogdan Verbenets

18

"F5" e vurmak yerine:

"Ctrl + F5"


6
Ayrıca Firefox'ta da çalışır (bu soru ile alakalı olduğu için değil, ancak birisi yararlı bulabilir)
Donald Duck

17

Kanarya Kanalı'nda (ve belki de geliştirici ve sabit kanal takip edecek) bu, "Genel" bölümünün altında sol tarafta genel olarak ikinci seçenek olarak bulunacaktır.

Chrome Kanarya Kanalında Önbelleği Devre Dışı Bırak

Buna ek olarak, Ctrl + Shift + N ile Gizli Mod'a geçme seçeneği her zaman maalesef oturumunuzu bitirmesine rağmen.


4
Deneyimlerime göre bu sadece geliştirme araçları açıldığında işe yarar. Geliştirici araçlarını kapattığımı fark edene kadar önbelleğin neden hala sayfalarda beklediğini merak ettim. Bu ayar her şeyi geçersiz kılma tuhaf.
mbokil

Gizli mod bazı görüntüleri ve dosyaları maalesef önbelleğe alır.
GobSmack

16

Yenilemek için Ctrl+ Shift+ kullanmak Rgüzeldi ama gerekli her şeyi alamadım. js ve css'de saklanan veriler gibi bazı şeyler yenilenmez. bir çözüm buldu: Chrome web geliştiricileri için google araç çubuğu . Araç çubuğunu yükledikten sonra seçenekleri ve "sayfayı sıfırla" yı seçin.


2
+1. Yine de mükemmel değil: Yerel bir bilgisayarda geliştirmek için önbellek tamamen gereksiz ve sorunları tanıtacak, bu yüzden yine de firebug gibi bir devre dışı bırakma özelliği ile ilgilenirim.
c089

15

Açık olmak gerekirse, Chrome'daki önbelleği devre dışı bırak onay kutusu (burada v17, ancak v15'ten beri inanıyorum) ana ayarlar kullanıcı arayüzünde değil. Geliştirici araçları ayarları arayüzünde.

  1. Tarayıcı penceresinin İngiliz anahtarı simgesi menüsünden (tercihler menüsü) Araçlar → Geliştirici Araçları'nı seçin

  2. Görüntülenen geliştirici araçları kullanıcı arayüzünde sağ alt taraftaki dişli çark simgesini tıklayın.

  3. Ağ bölümündeki 'Önbelleği devre dışı bırak' onay kutusunu işaretleyin.


14

Chrome'da önbelleği devre dışı bırakma yalnızca geliştirme araçlarınız açık olduğunda çalışır


belki bir hata ya da belki sadece geliştiriciler için tasarlanmıştır - Ben geliştirici olmayanların önbellek devre dışı seçeneğini de kullanmak istediğini düşünürdüm dedi ¯ \ _ (ツ) _ / ¯
jamiethepiper

14

Hata düzeltilene kadar Clear Cache Chrome eklentisini kullanabilirsiniz ve bunun için bir klavye kısayolu da ayarlayabilirsiniz.

Yükledikten sonra sağ tıklayın ve seçeneklere gidin:

resim açıklamasını buraya girin

Kontrol edin Automatically reload active tab after clearing data:

resim açıklamasını buraya girin

EverythingDönem için Seçin :

resim açıklamasını buraya girin

Ve sonra Menü => Araçlar => Uzantılar'a gidebilirsiniz:

resim açıklamasını buraya girin

En alttaki klavye kısayollarını tıklayın:

resim açıklamasını buraya girin

Ve klavye kısayolunuzu ayarlayın, örneğin Ctrl+ Shift+ R:

resim açıklamasını buraya girin


9

Aslında bant genişliğini kullanmanın bir sakıncası yoksa, önbelleği devre dışı bırakmak ve birçok güvenlik sitesi tarafından tavsiye edilen birçok nedenden dolayı daha güvenlidir.

Chromium, kullanıcılara karar vermek ve ayarları uygulamak için yeterince kibirli olmamalıdır.

UNIX'te önbelleği --disk-cache-dir = / dev / null ile devre dışı bırakabilirsiniz.

Bu beklenmedik çökmeler meydana gelebilir, ancak eğer yaparlarsa, bu her durumda düzeltilmesi gereken daha ciddi bir hataya işaret edecektir.


8

Bu birine yardımcı olabilir.

Nginx'imi çılgın önbellekleme için donattım. Böylece, ağ araçlarında önbelleği devre dışı bırakmak ve önbelleği açıkça temizlemek işe yaramaz.

Çok basit ama sıkıcı bir çözüm, sadece yeni bir Gizli Sekme açıyorum. Şaşırtıcı bir şekilde, her zaman çalışır!

Gizli modda zor bir yenileme, aynı modda yeniden yüklemek istediğimde hile yapar.


6

Sayfanın önbelleğe alınmasını önlemek için sayfa adını değiştiren bir yer işaretine ne dersiniz? Chrome'da yeni bir yer işareti oluşturur ve ardından kodu URL'ye yapıştırırsınız. Yer işaretini tıkladığınızda sayfa önbelleği kapatmak için zaman damgasıyla yeniden yüklenir.

javascript:(function(){var idx = location.href.indexOf('?');var d = new Date();var str = location.href.substr(0,idx) + '?version=' + d.getTime();location.href=str; void 0;})();

5

Yeni yakalandım, ancak Chrome nedeniyle olması gerekmiyor.

AJAX istekleri yapmak için jQuery kullanıyorum. İstekte true olarak ayarlanmış önbellek özniteliği vardı:

   $.ajax({
        type: 'GET',
        cache: true,
        ....

Bunu yanlış olarak ayarlamak sorunumu düzeltti ancak bu ideal değil.

Bu verilerin nereye kaydedildiği hakkında hiçbir fikrim yok ama kromun bir istek için sunucuya asla çarpmadığını biliyorum.


5

Şimdi daha iyi ve daha hızlı bir yol var (Chrome sürüm 59.xx):

Yeniden yükleme simgesine (url alanının solunda) sağ tıklayın ve bir açılır menüye sahip olun, üçüncü seçeneği seçin: 'boş Önbellek ve Sabit yeniden yükleme'.

Bu seçenek yalnızca geliştirici araçları açık olduğunda kullanılabilir. (Seçenek 2'nin farkına dikkat edin: 'Sabit yeniden yükleme' -cmd-shift-R). Burada önbellek boşalmıyor!


3

Chrome web mağazasında Önbelleği Temizle adlı bir krom uzantısı var .

Her gün kullanıyorum ve bence çok kullanışlı bir araç. Yeniden yükleme düğmesi olarak kullanabilir ve önbelleği temizleyebilir ve isterseniz çerezleri, yerel depolamayı, form verilerini vb. De isteyebilirsiniz. Böylece, tüm bu bokları yalnızca seçtiğiniz alanlara basmak zorunda olduğunuz yeniden yükle düğmesiyle temizleyebilirsiniz.

Çok çok güzel!

Seçeneklerde bunun için bir Klavye Kısayolu da tanımlayabilirsiniz!

Ayrıca başka bir yol da krom pencerenizi gizli modda başlatmaktır. Burada önbellek de tamamen devre dışı bırakılmalıdır.


Hangi alanda yaptığını tanımlama seçeneği bulunamıyor. Çok iyi görünmüyor. Chrome.google.com/webstore/detail/cache-killer/… .. hakkında ne dersiniz ?
nkkollaw

tarayıcıdaki clearcache simgesine, sağ tıklayın, seçeneklere ve ardından çerezlere gidin. Küçük bir ayarlar simgesi var.
chris

2

Önbelleği devre dışı bırakmak için bir seçenek daha 3. Chrome uzantısı Sayfa Boyutu Denetçim tarafından sağlanıyor Devtools'un yaptığı gibi devre dışı bırakan Denetçim tarafından sağlanır.

Buna ek olarak, uzantı bir web sayfasının sayfa boyutunu, önbellek kullanımını, ağ isteklerini ve yükleme süresini hızlı bir şekilde uygun bir şekilde raporlar. Ayrıca Github'daki açık kaynağı .

Ekran Görüntüsü - Sayfa Boyutu Denetçisi


2

Ne kullandığınızdan emin değilsiniz, ancak ASP.Net kullanıyorsanız cazibe gibi çalışan aşağıdakileri yapabilirsiniz:

<link href="@Url.Content("~/Content/Site.css")?time=@DateTime.Now" rel="stylesheet" />

Temel olarak, her çalıştırıldığında Tarih ve Saati otomatik olarak dosyanın sonuna ekler, yani dosya adı teknik olarak farklı olduğundan, bir daha önbelleğe alınması konusunda endişelenmenize gerek kalmaz.


kesinlikle. Bunu ve koşullu derlemeyi kullandım, bu yüzden test ve sürüm yapılarında görünmüyor.
Cee McSharpface

Daha da iyi bir yol, css dosyalarını değiştirme süresini değişken bir değer olarak kullanmaktır. Bu çözüm üretim ortamında da kullanılabilir. Sadece çalışıyor :) ASP'de nasıl yapıldığından emin değil ama PHP'de böyle bir şey <link href = "style.css? Time = <? Php echo fileminfo ('style.css');?>" Rel = "stylesheet" >
Oliver Manner

2

Aynı sorunu yaşadım, denedim:

  • Kontrol Shift R,
  • F12'de önbelleği devre dışı bırak
  • Kontrol F5.

Sonra https olmayan bir site için bir .appcache bildiriminin kullanılmasının kaldırıldığını keşfettim . Html etiketindeki site.appcache dosyasını ve referansını kaldırdım ve şimdi her sayfanın en son sürümünü görüyorum!


2

ServiceWorkers (örneğin: Aşamalı web uygulamaları için) kullanıyorsanız, büyük olasılıkla geliştirici araçlarındaki Uygulama> Hizmet Çalışanları altındaki " Yeniden yükleme sırasında güncelleme" seçeneğini de işaretlemeniz gerekir.

resim açıklamasını buraya girin


1

Sürüm 50'den beri (doğru hatırlıyorsam), "Önbelleği devre dışı bırak" seçeneği Devtool Ayarlarından kaldırıldı. "Ağ" sekmesine gidin ve "Önbelleği devre dışı bırak" seçeneği vardır.


0

Siteniz PHP kullanıyorsa, html sayfanızın başlangıcında aşağıdaki küçük PHP snippet'ini yerleştirin:

   //dev versioning - stop caching
   $rand = rand(1, 99999999);

Şimdi bir komut dosyasına veya bağlantı öğesine CSS veya JS dosyaları gibi kaynakları yüklediğiniz her yerde, oluşturulan rastgele değerinizi '?' Ekledikten sonra istek URL'sine ekliyorsunuz PHP üzerinden URI'ya:

    echo $rand;

Bu kadar! Sitenizi önbelleğe alan hiçbir tarayıcı olmayacak - hangi tür olursa olsun.

Elbette yayınlamadan önce kodunuzu kaldırın veya yeniden önbelleğe almayı sağlamak için $ rand değerini boş bir dizeye ayarlayın.


0

Yukarıda açıklanan diğer seçenekleri kullandım ama en iyi chrome.exe başlangıç ​​için aşağıdaki parametreyi eklemek olduğunu bulmak.

"C: \ Program Dosyaları (x86) \ Google \ Chrome \ Application \ chrome.exe" --disk-cache-size = 1 -media-cache = 1

Medya önbelleğini devre dışı bırakmamanın iyi bir fikir olduğunu düşünüyorum ama tamlık uğruna burada.

Aslında, önbelleği tamamen devre dışı bırakmak, diskim yerine IO için belleği kullanmak için bir seçenek istiyorum (bu da yükleme süresini 10 kat daha hızlı hale getirir!) Ama krom veya bu konuda herhangi bir tarayıcının henüz bu seçeneği olmadığını düşünüyorum .


0

Önbelleği geçici olarak nasıl devre dışı bırakabilirim veya değişiklikleri görebileceğim şekilde sayfayı nasıl yenileyebilirim?

Hangi "önbellekten" bahsettiğiniz belli değil. Bir tarayıcının içeriği kalıcı olarak önbelleğe alabileceği birkaç farklı yöntem vardır. Web Depolama bunlardan biri,Cache-Control diğeri.

Bazı tarayıcılarda Cache, çevrimdışı destek sağlayan Aşamalı Web Uygulamaları (PWA) oluşturmak için Hizmet Çalışanları ile birlikte kullanılan bir de bulunur .

PWA'nın önbelleğini temizlemek için

self.caches.keys().then(keys => { keys.forEach(key => console.log(key)) })

önbellek anahtarlarının adlarını listelemek için şunu çalıştırın:

self.caches.delete('my-site-cache')

önbellek anahtarını ada göre silmek için (ör my-site-cache.). Ardından sayfayı yenileyin.

Yenilemeden sonra konsolda çalışanla ilgili hatalar görürseniz, kayıtlı çalışanların kaydını da silmeniz gerekebilir:

navigator.serviceWorker.getRegistrations()
  .then(registrations => {
    registrations.forEach(registration => {
      registration.unregister()
    }) 
  })

0

Chrome'un Cache katili açık ara en iyi seçenektir. Önbellek öldürücü yüklemek için mağaza URL'si kapalı olduğundan, CRX dosyasını buradan indirebilirsiniz:

https://www.crx4chrome.com/extensions/jpfbieopdmepaolggioebjmedmclkbap/

uzantı dosyası indirildikten sonra Chrome -> diğer araçlar -> uzantılarını açın, ardından uzantıyı yüklemek için CRX dosyasını Dosya Gezgini'nden veya Masaüstünüzden (dosyayı indirdiğiniz konuma bağlı olarak) krom penceresine sürükleyin.


0

(Windows'ta), ctrl + shift + delete tuşlarını kullanıyorum ve krom iletişim kutusu açıldığında enter tuşuna basın. Bu, bu sekansı her yürüttüğünüzde temizlenmesi gerekenlerle yapılandırılabilir. Geliştirmeye gerek yok. Bu durumda araçlar açılır.


0

Tarayıcı, önbellek verilerini diskten yüklediğinde bile önbelleği devre dışı bıraktığımı (Chrome kullanıyordum) kontrol ettim. Tüm CSS ve JS dosyalarım web sayfasından değil sunucudan yükleniyordu. Bu hem yerel hem de Üretimimde oluyordu.

Bunu düzeltmek için, tarayıcıyı web sayfasını sunucudan almaya zorlamak için URL'ime ekstra bir param koymam gerekiyor, hatta denetleyicinin buna ihtiyacı yoktu.

ASP.Net kullanıyordum, işte benim örneğim:

//Controller function
public ActionResult Index()
    {
        return View();
    }
//Link
@Html.Action("Index", "Home", new { ts = DateTime.Now.Ticks.ToString()})

Sonuç, şu gibi bir bağlantı üretecektir: http://www.myweb.com/Home/Index?ts=636558555408282209

Bu benim durumum ve çözümüm. Umarım birine yardımcı olabilir.

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.