怎么樣記錄版本資訊,檢測到版本沒有更新,客戶通過重繪瀏覽器快取就獲得最新的版本檔案。
uj5u.com熱心網友回復:
直接存到localStorage里面,每次進入頁面請求api匹配本地版本是否一致,不一致就拉取最新內容。uj5u.com熱心網友回復:
把版本跟在地址后面就可以清快取,xxx.js?v=1.01 => xxx.js?v=1.02uj5u.com熱心網友回復:
1. 用HTML標簽設定HTTP頭資訊: header("Cache-Control: no-cache, must-revalidate") ;1) no-cache:強制快取從服務器上獲取新的頁面
2) no-store: 在任何環境下快取不保存任何頁面
2. 在需要打開的url后面增加一個隨機的引數: <script src="https://bbs.csdn.net/resources/Ext/localStorage.js?v=0601"></script>
每次請求的url后面的引數不一樣,相當于請求的是不同的頁面,用這樣的方法來曲線救國,清除快取。
uj5u.com熱心網友回復:
首次進入的時候,掉api介面拿到后端回傳的版本,判斷是否與本地版本一致,一致的話就不操作,不一致就清楚本地的快取,將新的版本號替換進快取里面,再重繪uj5u.com熱心網友回復:
如果不關閉瀏覽器,重新登錄,localStorage是不會更新的啊
uj5u.com熱心網友回復:
可以呢,但是我是大批量的,不好一個檔案一個檔案的改
uj5u.com熱心網友回復:
不一致清楚本地快取是不是只有提醒用戶手動清除?
uj5u.com熱心網友回復:
設定一個定時器間隔多少時間獲取一次版本資訊自動更新版本。或者右上角提示有新版本讓用戶自己重繪。
uj5u.com熱心網友回復:
首次進入的時候,掉api介面拿到后端回傳的版本,判斷是否與本地版本一致,一致的話就不操作,不一致就清楚本地的快取,將新的版本號替換進快取里面,再重繪
不一致清楚本地快取是不是只有提醒用戶手動清除?
不一定只有提醒用戶,如果你客戶拿到用戶版本,在請求介面回傳的時候判斷的了是否是同一版本,可以通過請求回應去清除本地,再把新的放上去,相當于請求攔截一樣,比如你的token是有時效的,請求介面回傳了一個新的token回來,你就把舊的清除替換新的上去,一個道理
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/42265.html
標籤:JavaScript
