我正在修改网站的外观(CSS修改),但由于烦人的持久缓存,无法在Chrome上看到结果。我尝试了Shift+刷新,但不起作用。
如何临时禁用缓存或以某种方式刷新页面以查看更改?
我正在修改网站的外观(CSS修改),但由于烦人的持久缓存,无法在Chrome上看到结果。我尝试了Shift+刷新,但不起作用。
如何临时禁用缓存或以某种方式刷新页面以查看更改?
当前回答
禁用chrome中的缓存仅在打开开发工具时有效
其他回答
按F12拉起Chrome开发者控制台,然后(在控制台打开的情况下):右键单击(或按住左键)浏览器顶部的重新加载按钮,然后选择“清空缓存和硬重新加载”
这将超越“硬重新加载”,完全清空缓存,确保通过javascript等下载的任何内容也将避免使用缓存。你不必打乱设置或任何事情,这是一个快速的一次性解决方案。
我已经使用了上面描述的其他选项,但我发现最好的方法是在chrome.exe的启动中添加以下参数。
“C:\Program Files(x86)\Google\Chrome\Application\Chrome.exe”--磁盘缓存大小=1-媒体缓存=1
我发现不禁用媒体缓存是一个好主意,但出于完整性的考虑。
实际上,我想要一个完全禁用缓存的选项,将内存用于IO而不是磁盘(这也会使加载时间快10倍!),但我认为chrome或任何浏览器都还没有这个选项。
如何临时禁用缓存或以某种方式刷新页面以查看更改?
目前还不清楚你指的是哪种“缓存”。有几种不同的方法可以让浏览器持久地缓存内容。Web存储是其中之一,缓存控制是另一个。
一些浏览器还具有缓存,与服务工作者一起使用,以创建提供离线支持的渐进式Web应用程序(PWA)。
清除PWA的缓存
self.caches.keys().then(keys => { keys.forEach(key => console.log(key)) })
要列出缓存键的名称,请运行:
self.caches.delete('my-site-cache')
按名称删除缓存密钥(即我的站点缓存)。然后刷新页面。
如果刷新后在控制台中看到任何与工作程序相关的错误,则可能还需要注销已注册的工作程序:
navigator.serviceWorker.getRegistrations()
.then(registrations => {
registrations.forEach(registration => {
registration.unregister()
})
})
我只是被抓住了,但不一定是因为Chrome。
我正在使用jQuery发出AJAX请求。我在请求中将缓存属性设置为true:
$.ajax({
type: 'GET',
cache: true,
....
将此设置为false修复了我的问题,但这并不理想。
我不知道这些数据保存在何处,但我知道chrome从未在服务器上发出请求。
为了使用Chromium在VS代码中进行调试,我将--aggresive缓存丢弃的runtimeArgs添加到launch.json文件中。这消除了所有缓存。刷新时立即显示代码更改。