2015-10-13 110 views
1

我的問題是以下幾點: 去年我爲一個活動建了一個網站(2014版)。 現在我爲同一個活動創建了一個網站,但今年(2015年)。 但是,無論何時訪問網站,它都會打開2014版本,儘管我已將其他版本放到了... 按F5刷新頁面en顯示2015網站。如何從客戶的PC清除緩存的網站?

所以我認爲問題是這個網頁是一個緩存版本,這就是這種情況發生的原因。 這是我的問題: 有什麼辦法可以解決這個問題嗎? (想想JavaScript腳本來清除每個訪問者對本網站的緩存...)

P.S .:該網站在2015年使用HTML5,CSS3,JavaScript。2014年版本中使用HTML4和CSS2-3(idk)。

+3

您可以在'.css'和'.js'文件調用結尾添加'?v = 2015'等內容,以便瀏覽器重新加載它們,而不會緩存舊版本。 – Albzi

+1

不幸的是,這個問題對於SO來說太寬泛了,有太多的方法可以做到這一點。 @Albzi關於主頁呢? –

+0

沒關係。過了一會兒,我明白了。我認爲我的腦子打破了一秒鐘。 @JuanMendes – Albzi

回答

-3

一種選擇是,您可以將文件放在服務器上的不同位置並執行服務器端重定向。

0

做THIC對CSS和JavaScript

<link rel="stylesheet" type="text/css" href="yourlink/filename.css?v=2"/> 

<script src="yourlink/filename.js?v=2"></script> 
+0

如果首頁本身被緩存,這將不起作用。 – charlee

0

您不能通過客戶端或服務器端代碼清除「傳統」瀏覽器緩存,至少不能以跨瀏覽器兼容的方式清除。你可以告訴瀏覽器未通過發送相應的標題或使用這些元標籤緩存你的頁面:

<meta http-equiv='cache-control' content='no-cache'> 
<meta http-equiv='expires' content='0'> 
<meta http-equiv='pragma' content='no-cache'> 

替代你可以版本,所有的資源,例如img-2015.png與img-2014.png

0

如果瀏覽器在過去沒有計算過期日期,它可能會嘗試使用HEAD方法的HTTP請求。此方法應該返回與GET相同的元數據。因此,您可以通過在HEAD請求上設置正確的http緩存頭來觸發刷新GET請求。這應該強制瀏覽器將其緩存版本識別爲陳舊版本,並使用GET檢索數據。