2017-04-23 97 views
1

所以我剛剛通過FileManager(網絡解決方案)更新了一個網站。而且我遇到了一個問題,Chrome基本上保存了以前的文件,因此網站的加載速度會更快。問題是,新網站不能很好地處理舊文件。因此,我必須進入隱私並清除我的網站數據才能正確刷新以顯示我的更新網站。如何讓Chrome瀏覽器清除網站上的緩存和Cookie?

無論如何要解決這個問題與前端的代碼?因爲對於不經常清除瀏覽歷史記錄的人來說,網站對他們來說會顯得不合時宜。謝謝您的幫助!

+0

嘿,你有沒有嘗試過使用這種方法? http://stackoverflow.com/a/179514/7813290 – Jamin

回答

2

由於Raccoon suggests,使用標題告訴瀏覽器不緩存可能會解決一些問題。

黑客將設置一個時間戳作爲您正在使用的更新(或全部)腳本的查詢參數<script src="js/myfile.js?updated=1492974572411"></script>。這也適用於css文件。

一個更清潔,更易於管理的解決方案是讓瀏覽器做它的事情,而改變你更新的文件的名稱。我建議使用生成隨機哈希。使用與上述相同的例子,這將意味着使用類似以下內容:<script src="js/f8dc525b.myfile.js"></script>

的WebPack例如can generate this hash for you,但你可以很容易地生成該值自己或者通過using a library,或者做類似Math.random().toString(16).slice(2)

0

對於緩存如果你的服務器有PHP中使用

<?php 
header("Expires: Tue, 01 Jan 2000 00:00:00 GMT"); 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); 
header("Cache-Control: post-check=0, pre-check=0", false); 
header("Pragma: no-cache"); 
?> 

或者,如果你想用js來清除它使用window.location.reload(true)

1

,你可以嘗試使用JavaScript window.location.replace()功能:

<meta http-equiv="refresh" content="0; http://www.redirecturl.com/" /> 
<meta http-equiv="pragma" content="no-cache"> 
<script type="text/javascript"> 
window.location.replace('URL'); 
</script>` 
相關問題