google-chrome - 清除網頁暫存 - 等候快取




禁用Chrome緩存以進行網站開發 (20)

如何暫時禁用緩存或以某種方式刷新頁面,以便我可以看到更改?

目前還不清楚你指的是哪個“緩存”。 瀏覽器可以持久地緩存內容有幾種不同的方法。 Web Storage就是其中之一, Cache-Control是另一個。

某些瀏覽器還有一個與服務人員一起使用的Cache ,用於創建提供脫機支持的漸進式Web應用程序(PWA)。

清除PWA的緩存

self.caches.keys().then(keys => { keys.forEach(key => console.log(key)) })

列出緩存鍵的名稱,然後運行:

self.caches.delete('my-site-cache')

按名稱刪除緩存鍵(即, my-site-cache )。 然後刷新頁面。

如果刷新後在控制台中看到與工作相關的任何錯誤,則可能還需要取消註冊註冊的工作人員:

navigator.serviceWorker.getRegistrations()
  .then(registrations => {
    registrations.forEach(registration => {
      registration.unregister()
    }) 
  })

我正在修改網站的外觀(CSS修改),但由於惱人的持久性緩存,無法在Chrome上看到結果。 我嘗試Shift +刷新,但它不起作用。

如何暫時禁用緩存或以某種方式刷新頁面,以便我可以看到更改?


  1. F12打開Chrome DevTools
  2. F1打開DevTools設置
  3. 檢查禁用緩存(DevTools處於打開狀態) ,如下所示:

目前這是默認的選項選項卡。 您可能需要向下滾動。 自從問這個問題以來,這個複選框至少移動了幾次。 最後我檢查了一下,它在底部的中間一列。 如果您在較薄的屏幕上打開它,並且在首選項下有兩列,則它可能位於右上角附近。 如果更改或評論,請隨時更新此帖子,我將更新帖子。


Chrome的緩存殺手是迄今為止最好的選擇。 由於安裝緩存殺手的商店URL已關閉,因此您可以在此處下載CRX文件:

https://www.crx4chrome.com/extensions/jpfbieopdmepaolggioebjmedmclkbap/

下載擴展文件後,打開Chrome - >更多工具 - >擴展,然後將CRX文件從文件資源管理器或桌面(取決於下載文件的位置)拖到Chrome窗口中以安裝擴展。


Chrome網上應用店中有一個名為ClearCache的Chrome擴展。

我每天都在使用它,我認為它是一個非常有用的工具。 您可以將其用作重新加載按鈕,並可以清除緩存,並且如果您還喜歡Cookie,語言環境存儲,表單數據等,還可以定義發生這種情況的域。 因此,只需按下重新加載按鈕即可清除所有這些垃圾 - 無論如何您都必須按 - 在您選擇的域名上。

非常非常棒!

您也可以在選項中為此定義一個鍵盤快捷鍵!

另一種方法是在隱身模式下啟動你的Chrome窗口。 這裡的緩存也應該完全禁用。


使用Ctrl + Shift + R刷新很不錯,但沒有得到我需要的一切。 仍然有些東西不會刷新,比如存儲在js和css中的數據。 找到了一個解決方案: Chrome網頁開發人員的谷歌工具欄 。 安裝工具欄後,選擇選項和“重置頁面”。


另一個禁用緩存的選項是由我的第三個Chrome擴展頁面大小檢查器提供的 ,它可像Devtools一樣禁用緩存。

此外,該擴展還可以方便快捷地報告頁面大小,緩存使用情況,網絡請求和網頁加載時間。 加上其在Github開放源代碼。


在chrome中禁用緩存只有在您打開開發工具時才有效


在金絲雀頻道(也許開發者和穩定頻道將繼續),這將作為第二個選項總體在左邊的“常規”部分。

除此之外,總是可以通過Ctrl + Shift + N切換到隱身模式。儘管不幸也會結束您的會話。


如何改變頁面名稱以防止頁面緩存。 在Chrome中,您可以創建一個新書籤,然後將代碼粘貼到URL中。 點擊書籤,頁面將重新加載時間戳以阻止緩存。

javascript:(function(){var idx = location.href.indexOf('?');var d = new Date();var str = location.href.substr(0,idx) + '?version=' + d.getTime();location.href=str; void 0;})();

如果您不想編輯Chrome的設置,則可以使用隱身模式獲得相同的結果。


從版本50開始(如果我沒有記錯的話),從Devtool Settings中刪除了“Disable cache”選項。 轉到“網絡”選項卡,並有“禁用緩存”選項。


我剛剛被抓到,但不一定是由於Chrome。

我正在使用jQuery來發出AJAX請求。 我在請求中將緩存屬性設置為true:

   $.ajax({
        type: 'GET',
        cache: true,
        ....

設置這個錯誤解決了我的問題,但這並不理想。

我不知道這些數據保存在哪裡,但我確實知道chrome從未在服務器上發出請求。


我有同樣的問題,我試過了:

  • 控制轉換R,
  • 在F12中禁用緩存
  • 控制F5。

然後我發現, 對於非https網站使用.appcache清單已被棄用 。 我在html標記中刪除了我的site.appcache文件及其引用,現在我正在看到每個頁面的最新版本!


我處於瀏覽器從磁盤加載緩存數據的情況,即使我檢查了禁用的緩存(我使用的是Chrome)。 我所有的CSS和js都是從服務器加載的,而不是網頁。 這發生在我的本地和生產。

為了解決這個問題,我需要在我的url中添加一個額外的參數來強制瀏覽器從服務器獲取網頁,即使控制器不需要它。

我使用的是ASP.Net,所以這裡是我的例子

//Controller function
public ActionResult Index()
    {
        return View();
    }
//Link
@Html.Action("Index", "Home", new { ts = DateTime.Now.Ticks.ToString()})

結果是,它將生成如下鏈接: http://www.myweb.com/Home/Index?ts=636558555408282209 : http://www.myweb.com/Home/Index?ts=636558555408282209

這是我的情況和解決方案。 希望它可以幫助某人。


現在有更好更快捷的方式(Chrome版本59.xx):

右鍵單擊reload圖標(url-field左邊),出現一個下拉菜單,選擇第三個選項:'空緩存和硬重載'。

此選項僅在開發人員工具處於打開狀態時可用。 (注意與選項2的區別:'硬重新加載'-cmd-shift-R)。 這裡沒有緩存清空!


而不是擊中“F5”只需點擊:

“Ctrl + F5”


這可能有助於某人。

我把我的Nginx裝上了瘋狂的緩存。 因此,禁用網絡工具中的緩存並明確清除緩存不起作用。

一個非常簡單但無聊的解決方法是,我只是打開一個新的隱身標籤。 令人驚訝的是,它一直在運作!

無痕模式下的硬刷新可以在我希望以相同模式重新加載的任何時候使用。


還有兩個選項可以在Chrome中禁用頁面緩存

1.在註冊表中停用Chrome緩存

打開註冊表(開始 - >命令 - >註冊表)

搜索: HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command

將...... chrom.exe之後的部分更改為此值: –disable-application-cache –media-cache-size=1 –disk-cache-size=1 — "%1"

示例: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -disable-application-cache –media-cache-size=1 –disk-cache-size=1 — "%1"

重要:

  • 有一個空格和連字符之後... chrome.exe“

  • 保持chrome.exe的路徑不變

  • 如果您複製該行,請務必檢查,如果引號是實際引號。

2.通過更改快捷方式屬性來停用Chrome緩存

右鍵點擊Chrome圖標並在上下文菜單中選擇“屬性”。 將以下值添加到路徑中: –disk-cache-size=1

例如: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" –disk-cache-size=1

重要:

  • 有一個空格和連字符之後... chrome.exe“

  • 保持chrome.exe的路徑不變


  1. F12然後(打開控制台)拉起Chrome開發者控制台:

  2. 在瀏覽器頂部的重新加載按鈕上點擊右鍵(或按住鼠標左鍵),然後選擇“清空緩存和硬重新加載”。

這將超越“硬重新加載”以完全清空緩存,確保通過JavaScript等下載的任何內容也將避免使用緩存。 您無需settings with任何設置或任何東西,這是一個快速的一次性解決方案。


如果您需要每小時清除緩存30次,則清除緩存太煩人了。因此,我安裝了名為Classic Cache Killer的Chrome擴展程序,可在每次加載頁面時清除緩存。

Chrome商店鏈接(免費) (現在沒有惡意軟件!)

現在我的每一次 頁面加載 都會刷新模擬json,javascript,css,html和數據。

如果我需要清除緩存,我永遠不必擔心。

我找到的Chrome瀏覽器大約有20個緩存清理工具,但這個看起來很輕巧,沒有任何問題。 在更新中,緩存殺手現在可以“始終開啟”。

注意:我不知道插件作者。 我發現它很有用。







browser-cache