2011-05-07 26 views
9

Flaş (esnek) uygulamayı içine alan bir html sayfam var.Google Chrome Önbellek

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE"> 
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-STORE"> 
<META HTTP-EQUIV="Pragma" CONTENT="no-cache"> 
<META HTTP-EQUIV="Expires" CONTENT="-1"> 

ek olarak, uygulamanın yeni sürümünü her zaman, dosya adını değiştirin:

aşağıdaki başlıkları var. Dolayısıyla, MyApp_v1.swf gibi bir şey olur ve daha sonra MyApp_v2.swf dosyasına güncellenir.

Buna rağmen, krom hala html sayfasını ve swf dosyasını önbelleğe alır. Bu, müşterilerin tarayıcı önbelleğini temizlemedikçe güncellenen swf'yi görmedikleri için önemli bir sorundur.

Hatta htaccess dosyasını değiştirme ve swf dosyası barındıran index.html dosyasını yeniden adlandırma ile bu çevrede almaya çalıştı:

RewriteEngine On 
RewriteCond %{HTTPS} !=on 
RewriteRule ^(.*)$ https://www.mysite.com/app[R,L] 
DirectoryIndex index.html #this was changed from myapp.html 

Hatta bu yaptıktan sonra, Chrome hala swf önbelleğe ve bir Eski html dosyasından okuma STILL. Html'de bir görünüm kaynağı yapıyorum ve hala eski dosyayı gösteriyor.

Bu, tüm diğer tarayıcılarda düzgün çalışır.

cevap

5

Bu iki hata raporları burada, bazı iyi alakalı bilgiler ilgilidir:

yukarıdaki bağlantılarda belirtildiği gibi

Issue 28035 - chromium - Cache doesn't adhear to No cache options (google crome)

Issue 64139 - chromium - Cache isn't revalidated properly, no-cache directive

Diğer bir çözüm ise cache-control veya pragma HTTP başlıklarını eklemek olabilir

Ayrıca, aptal soru, <meta> no-cache etiketini test etmeden önce krom önbelleğini temizlediniz mi? s? değişikliklerden önce hala önbellek kullanıp kullanmadığını merak ediyor.

+0

Maalesef bu, tüm istemcilere önbelleklerini temizlemelerini söylemem mümkün olmadığından tam bir çözüm değil. Temel olarak, sonsuza kadar yanlış sayfa ile mans arazide sonsuza kadar sıkışmış! Diğer bir seçenek ise, tüm uygulamayı sunucudaki yeni bir dizine taşımak ve kullanmak için bir seçenek.htaccess yönlendirmesi. Bu, uygun bir yenilemeyi zorlamalı ve tarayıcı önbelleğini geçersiz kılmalıdır, doğru mu? – JonoB

+1

Eğer src = "mipaht.jpg? Ver = 1" gibi herhangi bir src veya href özniteliğinin bağlantısına bir istek parametresi eklerseniz, tarayıcı kaynağı güncellemeye zorlar, javascript, görüntüler, css için çalışır, bu yüzden belki bu durumda Ayrıca çalışır ... – ncubica

+0

ve datetime gibi dinamik bir dize kullanırsanız, kullanıcıların her zaman yeni bir sürüm indirip önbellekleme yapmadığından emin olabilirsiniz. example: 'src =" myfile.swf? ver = 1407279708' – DrCord

2

kullanın bu "hayır-store" ekstra etiket ve önbellek diğer yetenekli tarayıcılarda olduğu gibi Krom (Chrome) 'de çalışıyor:

başlığında ("Cache-Control: no-cache, no-store, "revalidate");

header ("Pragma: no-cache, no-store"); Bu
ile struggeling tüm çocuklar için

0

i

i
1. ctrl + f5
2. ctrl + shift + 5
3 denedik çalışır basit bir şey ... buldum. tıklarken
için geliştirici araçları "hayır önbellek" .. sonunda benim için çalıştı ne

olduğunu ayarı Sadece CTRL tuşunu basılı tutun yeniden yükle simgesi!

+0

Bu bir çözüm değil. Eğer sayfa "no-cache" ifadesini belirtirse, yönergeye uymak için el ile zorlamanız gerekmez. Önbellek belirtilmemiş. – cpu

İlgili konular