2013-04-05 8 views
5

Czy istnieje metatag lub coś, czego mogę użyć, aby uniemożliwić korzystanie z pamięci podręcznej przed określoną datą.Powiadom przeglądarki, aby zaktualizowały pamięć podręczną, jeśli data pamięci podręcznej jest w określonym dniu.

np.

<meta "only use cache if cache is AFTER 4/4/2013">

Jeśli bufor jest stary to musi pobrać wszystkie nowe JavaScript, CSS, obrazy, etc ..

robię dużo aktualizacjach miejscu, a potem w górę kto śrubami nadal ma pamięć podręczną (i nie można oczekiwać, że będą wiedzieć, aby nacisnąć ctrl + f5 lub ctrl + r).

+0

nie można zmusić przeglądarkę do ponownego wykorzystania pamięci podręcznej. możesz mieć kreatywność i mieć daty wygaśnięcia pamięci podręcznej ustawione w przeszłości lub coś takiego, ale to wszystko. – PlantTheIdea

+0

w sieciach biznesowych jestem pewien, że możesz to zrobić poprzez obiekty GPO. – RandomUs1r

+0

możesz spróbować wyłączyć buforowanie całkowicie http://stackoverflow.com/questions/1341089/using-meta-tags-to-turn-off-caching-in-all-browsers – btevfik

Odpowiedz

2

Zwykle wystarczy dodać parametr dostać się na koniec z wersją scenariusza przytaczam je

więc jeśli masz JavaScript w

www.example.com/script.js 

użyć adresu URL

www.example.com/script.js?foo=1 

kiedy zwiększam wartość foo za każdym razem, zmusza przeglądarkę do ponownego pobrania skryptu.

+0

To jest najlepsza odpowiedź na plakaty pytanie. Pozwala skutecznie unieważnić pamięć podręczną, gdy tylko chcesz, niezależnie od wcześniej ustawionych nagłówków. Jedyną wadą jest to, że twoja strona nie jest testowalna z systemu plików, ale tylko z serwera WWW, ponieważ system plików rozpoznaje? Param = bla jako część nazwy pliku. Możesz to naprawić, dodając numer wersji do nazwy pliku, ale ma to inne wady: prawdopodobnie oznacza to, że musisz zmienić znaczniki css na wielu stronach html, lub musisz użyć systemu dołączania po stronie serwera, aby naprawić to, co również będzie wymagało serwera. –

0

ten jest skonfigurowany w pliku .htaccess z ExpiryDates

(Przykład kopalni poniżej Mój gospodarz uruchamia serwer PHP/Apache -. 000webhost.com)

<IfModule mod_expires.c> 

# Enable expirations 
ExpiresActive On 

# My favicon 
ExpiresByType image/x-icon "access plus 1 year" 

# Images 
ExpiresByType image/gif "access plus 1 month" 
ExpiresByType image/png "access plus 1 month" 
ExpiresByType image/jpg "access plus 1 month" 
ExpiresByType image/jpeg "access plus 1 month" 
ExpiresByType text/css "access plus 1 week" 

# Javascript 
ExpiresByType application/javascript "access plus 1 year" 

</IfModule> 
+0

W jaki sposób ta metoda obsługuje określoną datę wygaśnięcia, zgodnie z żądaniem PO? – showdev

1

nie ma tag do ustawiania pamięci podręcznej tylko po określonej dacie, ale jeśli używasz dowolnego języka serwera (PHP, .NET, ruby, phyton), możesz ustawić kontrolę pamięci podręcznej na brak pamięci podręcznej, a następnie dynamicznie ustawić nagłówki tak, aby rozpoczynały cachowanie po określonej dacie.

Na przykład za pomocą PHP:

<?php 
$cdate = date('Ymd'); 
if ($date > '20130404') { 
    header('Cache-Control: max-age=28800'); //cache lifetime to 8 hours 
} else { 
    header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 
    header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past 
} 
?> 
Powiązane problemy