2009-08-13 9 views
8

Czy istnieje sposób na utworzenie linku do adresu URL, który zmusza przeglądarkę do zignorowania pamięci podręcznej, jaką może mieć dla tego adresu URL?Link HTML, który wymusza odświeżenie?

Mamy kilka witryn, które niedawno zmieniły się po dosłownie latach statycznej zawartości. Użytkownicy klikają skróty, ulubione lub wpisują adresy URL do tych stron i uzyskują starą, buforowaną zawartość. Chciałbym mieć stronę z linkiem, który prowadzi do tego samego adresu URL, ale zmusza przeglądarkę do pobrania świeżej zawartości.

jest to możliwe? Cross-browser?

Odpowiedz

10
  1. zmienić wszystkie linki do strony z parametrem zapytania nonsens:? Products.html happy = dzień
  2. zmienić wszystkie zasoby na stronie, aby użyć innego zapytania nonsens parametru: style.css = fonz

Możesz to zrobić w sposób systematyczny, używając dat lub znaczników czasu lub numerów wersji lub przypadkowo używając sitcomów, mppetów, pasm górskich i małych ssaków.

+0

Czy znasz sposób, aby utworzyć adres URL, który powoduje skróty do odświeżenia? Na przykład widzę, że www.abc.com/?happy=days będzie świeżą treścią, ale gdybym miał skrót do www.abc.com, czy byłby odświeżony? – n8wrl

+0

Tom, czy chcesz powiedzieć, że trzeba zrobić obie te rzeczy, czy tylko jedną z nich? –

+2

Rozumiem, że jest stary, ale +1 dla sugestii parametrów. –

4

Dodaj parametr url do końca href o unikalnej wartości, powiedzmy new Date() getTime().

...somePage.html?time=123456789 
0

Wiele osób korzysta z parametru ciąg kwerendy wersja.

Wyjazd źródłem SO

<script type="text/javascript" src="http://sstatic.net/so/js/master.js?v=4143"></script> 

szczególności zauważyć master.js? V = 4143

Osobiście ustawić to w moim pliku konfiguracyjnego, który jest aplikacja szeroki, ale wierzę ci można to zrobić bezpośrednio w kontrolerze źródłowym, jeśli potrzebujesz bardziej szczegółowej automatycznej wersji.

2

Kiedy potrzebuję pełnego odświeżenia strony, po prostu dodaję ?v=, po której następuje losowy ciąg znaków. Gdy przeglądarki wykrywają ciąg zapytania po stronie, automatycznie pomijają pamięć podręczną (jeśli ten sam ciąg zapytania nie występuje w wersji buforowanej), ponieważ zawartość strony może się zmieniać w zależności od wartości ciągu zapytania.

Ponieważ strona internetowa może zostać załadowany więcej niż jeden raz drugi, używam aktualny znacznik czasu UNIX następnie litery i liczby losowej między 1 i 1000.

szanse, że dwie strony uzyskać dokładnie takie samo zapytanie ciąg jest bliski zeru.

0

Link HTML że siły odświeżyć z javascript: