簡體   English   中英

使用jquery / Angularjs清除瀏覽器緩存

[英]clear browser cache using jquery/Angularjs

我想以編程方式清除瀏覽器緩存。 我這樣做是因為我已經部署了該應用程序的新版本,但是瀏覽器從緩存中獲取了舊版本和內容。 但是我想在瀏覽器獲取新版本並從服務器加載最新應用程序時清除緩存。

我也使用location.reload(true); 但是它並不會清除緩存,只是重新加載當前頁面。

您可以使用版本技巧清除瀏覽器緩存

例如,

<script src="custom.js?version=1.1.1"></script>

只需在文件類型的末尾添加虛擬版本,它將重新加載代碼

您真的不能使用Angular或JQuery清除緩存。 一種方法是強制瀏覽器請求新資源。

一種方法是使用gulp-rev。

https://github.com/sindresorhus/gulp-rev

無法通過JavaScript做到這一點。 您可以執行以下操作:

在內容網址的末尾附加一些可變字符串。 例:

//example.com/script.js?version=1.0

要么

var timestamp = new Date().getTime()
var url = "//example.com/script.js?ts=" + timestamp

這從根本上愚弄了瀏覽器,您嘗試加載的URL是一個新的URL,並且跳過了在緩存中查找它的過程。

時間戳方法確實有一個缺點,就是它永遠不會利用瀏覽器緩存。

另外,請確保您的HTML文件具有正確的內容標頭設置,以便不緩存html本身。 結帳如何在所有瀏覽器中控制網頁緩存? 有關緩存控制標頭的詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM