2012-06-18 30 views
6

IE8'deki sayfamda, yönetim panelinden değiştirilen bazı metinler var. Örneğin: eğer sayfa 'merhaba dünya' metnini içeriyorsa, 5 dakika sonra metin, yöneticinin değiştirmesine bağlı olarak farklı olabilir.Internet Explorer 8'de sayfaların önbelleğini önleme

Sorun, sayfayı önbelleğe alan ve aynı metni tekrar gösteren IE8 ile ilgilidir. Önbelleği temizler ve yenilenirse, metin güncellenir.

Tarayıcıyı önbelleğe almaktan kaçınmak için <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE"> etiketini kullanıyorum. Gördüğüm

ben İnternet seçenekleri belirlertarama geçmişi (ayarlar) → Ben web sayfasını ziyaret her zaman, sorun ortadan; ancak otomatik olarak ayarlanmışsa, sayfanın önbelleğe alınmış sürümü gösterilir.

IE8'deki önbellekleme seçeneği son kullanıcı tarafından otomatik olarak ayarlanmış olsa bile 'önbelleğe almayı' zorlayabilmemin bir yolu var mı?

+0

Olası çoğaltılabilir [Bir web sayfasının tüm tarayıcılarda önbelleğe alınmadığından emin olun] (http://stackoverflow.com/questions/49547/making-sure-a-web-page-is-not-cached-across -all-tarayıcıları) – BalusC

cevap

1

Bkz ↪

Expires: -1 
Cache-Control: private, max-age=0 

hiçbir zaman önbelleğe alınmayacaktır. User1419007'nin cevabı da doğru.

+0

Bu, her koşulda IE 8 için geçerli değil, POST kullanarak IIRC –

+0

ve belirtilen üstbilgileri gönderen muhtemelen onun kadar iyi, ancak gerçekten hiçbir zaman% 100 emin olamaz, özellikle gerçekten Internet Explorer davranışı her zaman tam olarak belgelenmiş değildir. – MichaelS

2

Önbelleği devre dışı bırakmanın en iyi yolu, URL'lerinizde rastgele bir değer içeren bir değişken kullanmaktır.

Örneğin sayfanızın URL'si ise:

www.abc.com/hello.php

onu sevdirmeye:

www.abc.com/hello.php?randomVar=1SH232X-182N19-1929SK

Sen randomVar değeri olarak geçerli zaman damgası kullanabilirsiniz. Bu şekilde, sayfa önbelleğe alınmayacaktır.

İlgili konular