Internet Explorer'ı (IE) sayfayı GERÇEKTEN yeniden yüklemeye zorlama


152

Web uygulamamı test etmek için Internet Explorer 8 kullanırken, sayfanın yeniden yüklenmediğini sık sık görüyorum, bu yüzden değişikliklerimi göremiyorum. Bu, çok fazla zaman kaybına ve hayal kırıklığına neden oldu; bunun neden düzeltmenin "işe yaramadığını" - aslında tarayıcı sabit sürümü hiç yüklemediğinde.

Yenile düğmesini denedim. Yenile düğmesini tıklatırken, düşünebildiğim her şeyi tutarken F5, Control- F5, Control- R, Control- Shift- denedim , aslında yeni içerik sunucudan yüklenmiyor. Bunu Fiddler ile doğruladım.RControl

IE'ye nasıl söylerim " Önbelleğe aldığınızı düşündüğünüz umrumda değil , sayfayı yeniden yüklemek istiyorum - hayır, gerçekten bu sefer demek istiyorum, Allah'a dürüst, gerçekten sunucuya gitmenizi istiyorum ve her şeyi tekrar indir. "


2
Belki de özel bir tarama penceresi kullanın?
Josh Lee

3
Web sunucunuzun yeni sürüm yerine eski sayfayı (önbellek yoluyla) sunması mümkün mü? Bu durumda kaç kere yeniden yüklediğiniz önemli değil.
Michael Todd,

1
Michael, hayır, Fiddler’de IE’nin sayfa içeriğini sunucudan almadığını doğruladım.
EMP

Control + F5 Önbelleği geçiyor, eğer değilse garip ...
Tamara Wijsman

2
StackExchange'te şu ana kadar karşılaştığım bir sorunun en iyi ifadesi!
user785529

Yanıtlar:


125
  1. Araçlar >> İnternet Seçenekleri'ni seçin .
  2. Gözatma Geçmişinde Ayarlar düğmesine tıklayın .
  3. Seç Web sayfası ziyaret her zaman radyo düğmesini.
  4. Ayarlar iletişim kutusunu kapatmak için Tamam'ı tıklayın .
  5. İnternet Seçenekleri iletişim kutusunu kapatmak için Tamam'ı tıklayın .

3
Yaptığınız şey
buysa

34
Genel tarama performansınıza zarar verebilir, ancak yalnızca genel IE’ye genel göz atma işlemini yaparsanız ...
Joel Mueller

3
Ev: Bunun kullanıcı tarafı genellikle koda her dokunduğunuzda, genellikle bir ?version-numbersorgu dizesi soneki ekleyerek tüm komut dosyalarının ve stil sayfalarının URL'lerini değiştirerek giderilir.
bobince

4
"Web sayfasını her ziyaret ettiğimde" muhtemelen düşündüğünüzü yapmıyor. Bkz. Fiddler2.com/redir/?id=httpperf
EricLaw

6
@EricLaw ile aynı fikirdeyim, Fiddler kullanıyorsanız, sayfa ile ilişkili dosyaların bazen "web sayfasını her ziyaret ettiğimde" ayarlanmış olsa bile yeniden yüklenmediğini göreceksiniz. IE araç çubuğu menüsünü kullanın: Önbellek> Sunucudan her zaman yenile veya Fiddler'da Önbelleği Temizle düğmesini kullanın.
Phillip Ngan

43

IE8’nin tarayıcı olduğu belirtildiği F12için, geliştirme araçlarını açmak ve en üstteki Önbellek menüsünü seçmek için düğmesine basıp ardından önbelleği atlamak için her zaman sunucudan yenileyebilirsiniz.

Kısaca, tuşuna basınF12 . Önbellek -> Sunucudan Her Zaman Yenile'yi tıklayın.

İstenilen eylem buysa, önbelleğinizi buradan da kolayca temizleyebilirsiniz. Her zaman yenileme seçeneği genel bir seçenek değildir ve IE'deki genel performansı engellemez.

IE7 de geliştirme araçlarına sahiptir, ancak ayrı olarak yüklenmeleri gerekir. Tarayıcıyı IE7 modunda çalıştırmak için IE8 dev araçlarını da kullanabilirsiniz.


Global bir seçenek kullanmadan bunu çözmek için +1.
Marcus Riemer

Benzer burada hala her zaman tüm içeriği yenilemek etmediğini,. Ve yeniden yüklemenin URL’lerde de iyi olduğunu bilmiyorum - her pencerenin zaman zaman kendi F12’si var. Bu yapmak için daha kapsamlı bir yol olup olmadığını, eğer javascript dahil erişiminiz varsa.
04:13

1
IE 11'de bunu nasıl yapıyorsunuz? Bulabileceğim bir önbellek seçeneği yok.
David Thielen

4
IE 11'de bu seçenek solda F12 -> Ağ -> 3. simgesi altındadır.
Den

22

Ctrl+ F5içinde IE, önbelleği yok sayarak sayfayı yeniden yükler


26
Hayır değil. Önbelleği bir süre önemsemediğini biliyorum, ancak her zaman değil.
EMP

16
Ctrl + f5 her zaman sayfayı sunucudan yeniden yükler. Mutlaka yapmaması gereken, sayfa başvuruda bulunan fazladan dosyaları yeniden yüklemek

2
Yeterince adil - ama HERŞEYİ yeniden yüklemem gerekiyor.
EMP

1
CTRL + F5, sayfayı ve tüm kaynaklarını tamamen yenilemelidir. Daha sonra XMLHTTPRequest aracılığıyla yapılan çağrılar önbelleğe alınabilir (önbelleklenmelerini istemiyorsanız uygun önbellek olmayan başlıklar gönderin). Dikkat edilmesi gereken şey, eğer söz konusu sayfa XML ise, gerçekten MSXML üzerinden yüklenir ve DocHost'un CTRL + Refresh'e uygun şekilde SINIRLI OLMADIĞINDIR.
EricLaw

3
ctrl + f5 her zaman sunucudan her şeyi yeniden yüklemez. Testlerimde html dosyasındaki javascript, sayfa değişmiş olsa bile ctrl-f5 tuşlarına basıldıktan sonra yeniden yüklenmiyor.
rcarver

17

IE, sayfaları önbellek başlıkları üzerinden yapmamanız durumunda bile önbelleğe almaya çok isteklidir. Microsoft KB 234067 , gerekli teşvikleri açıklar. Kısacası, aşağıdaki başlıkları iletmeniz gerekir.

Pragma: no-cache
Cache-Control: no-cache
Expires: <some time in the past>

Ayarlama Expires = -1(KB makalesinde önerildiği gibi) çoğu çerçeve için çalışmalıdır; tarayıcıların geçersiz tarih biçimlerini geçmişte olduğu gibi ele alması gerekir ( RFC 2616 ).

.NET'te, web sayfasını çağırmadan önce bu yöntem kümesini kullanarak sayfa sayfa ayrıntılı bir şekilde yapabilirsiniz:

HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
HttpContext.Response.Cache.SetValidUntilExpires(false);
HttpContext.Response.Cache.SetRevalidation(System.Web.HttpCacheRevalidation.AllCaches);
HttpContext.Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
HttpContext.Response.Cache.SetNoStore();

bkz .: http://www.localwisdom.com/blog/2012/10/force-a-page-refresh-on-a-asp-net-mvc-website/ MVC3.0 için iyi çalışıyor.


1
Gerçek dışı. IE6 +, önbelleği yasaklayan tüm başlıklara tamamen saygı gösterir. fiddler2.com/redir/?id=httpperf
EricLaw

Hepsi çok iyi, ama WRT'ye soruyu cevaplamıyor.
Matthias Urlichs

6

Web geliştiricisi araç çubuğunun Ağ sekmesinde önbelleği kolayca temizlemek için bir düğme bulunur. Bunu genellikle tarif ettiğiniz durumlarda kullanırım.

Bu ideal değildir, çünkü tüm önbelleğinizi gerçekten silmek istemeyebilirsiniz, ancak genel tarama için IE kullanmadığım için bu benim için çalışıyor.


4

Bu hala IE9'da olur. Şaşırtıcı bir şekilde, cevap Ctrl- ShiftYenile düğmesi


Bu, Ctrl-Refresh düğmesinden farklı mı çalışıyor?
Jon Onstott

3

Bu arada, sorun web sitesi görüntüleyenler için de geçerli olabilir. Aşağıdaki fikri AJAX kitabında gördüm.

Geçerli URL'ye rastgele bir simge eklemek için PHP'yi kullanın, böylece tarayıcı ayrı bir sayfa olduğunu düşünerek kandırılır.


Yine de URL'leri çirkin yapar.
LawrenceC

2

Ben de aynı problemi yaşadım. Bunu yapmanın tek yolunun önbelleği temizlemek olduğuna inanıyorum (Güvenlik -> Gözatma Geçmişini Sil). Sadece "Geçici İnternet Dosyaları" nı işaretleyin.

Bu yardımcı olur umarım.


2

Yenile düğmesini tıklatırken altveya tuşunu basılı tutun ctrl.


1

URL’ye rastgele bir simge eklemenin en güvenilir çözüm olduğunu ve uygulandıktan sonra kullanıcının hiçbir şey yapması gerekmediğini kabul ediyorum.

Rastgele belirteç yaklaşımının yanı sıra, sayfanın ve tüm bağımlı dosyalarının yeniden yüklenmesini (isteğini) zorlamak için her zaman ne yapma eğiliminde olduğumu, sadece imleci URL'nin sonuna getirip Enter tuşuna basarım. Her zaman işe yarar ... ve IE 8 kullanıyorum.


1

F12-> CTRL+ RIE9 + için biraz daha hızlı. İnsanların belirttiği gibi IE, Chrome'un yaptığı gibi önbelleği çok akıllıca temizlemiyor.


1

Bunun biraz garip gelebileceğini biliyorum ... ama son zamanlarda farkettiğim bir şey, NASIL "yenilediğine" bağlı olarak bazen farklı sonuçlar almanız. Aşağıdaki davranışı gördüm:

F5> yenilemeden önbellekten yükler,
Alt+ D, ENTER> önbelleği atlayarak gerçekten yenilenir.
( Alt+ Dadres çubuğuna tıklayarak değiştirilebilir)

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.