2013-12-13 62 views
0

例如當我進入我的Gmail帳戶時,我每隔一段時間就會看到一些更改,這些更改在沒有使用ctrl + f5(無緩存數據)更新的情況下有效,而我的Web應用程序卻發生了相反的情況,用戶必須按ctrl + f5查看更改。如何更改我的Web App(Chrome,Mozilla,IE8 +)而不按Ctrl + F5更改?

如何實現與其他Web應用程序相同的更改,而無需清除緩存或更新。

此問題不適用於數據,但含有html內容。我使用requireJS根據AngularJS路徑加載每個節(js,css & html),例如,如果我調用index.php#/ users/edit我加載用戶/ edit.html等等,所以當我進行更改或添加一個HTML/CSS/JS文件即使在按f5時也不可見,用戶需要刪除緩存或按ctrl + f5

+1

你是問有關資源緩存清除的網址,HTTP緩存頭,或AJAX/WebSockets的隨機值? – SLaks

+0

我剛剛在解釋中添加了您的問題的回覆。 – Uuid

+0

有點混亂。你想要像推/自更新服務(即Gmail,Facebook等)? – melancia

回答

1

假設我正確理解你的問題,我通常會做的是追加'版本'參數指向用於獲取頁面內容的URL。

因此,而不是調用users/edit.html,你會要求users/edit.html?v=123

你可以讓你在其中設置手動或在構建時專用的可變版本。

如果你想忽略緩存乾脆你可以追加使用類似Math.random()

+0

所以這意味着什麼?是否當我在URL上使用不同的參數值時,它會在不清除緩存的情況下加載新的內容更改? – Uuid

+1

是的,這就是它應該如何工作。它會'欺騙'瀏覽器,認爲你正在請求另一個頁面 – lostsource

相關問題