我正在修改网站的外观(修改CSS),但由于烦人的持久性缓存,在Chrome上看不到结果。我试过Shift+刷新,但不起作用。
如何临时禁用缓存或以可以看到更改的某种方式刷新页面?
Ctrl+Shift+R
还是Shift+R
应该刷新缓存...
我正在修改网站的外观(修改CSS),但由于烦人的持久性缓存,在Chrome上看不到结果。我试过Shift+刷新,但不起作用。
如何临时禁用缓存或以可以看到更改的某种方式刷新页面?
Ctrl+Shift+R
还是Shift+R
应该刷新缓存...
Answers:
Chrome DevTools可以禁用缓存。
Inspect Element
打开DevTools。或使用以下键盘快捷键之一:
Network
在工具栏中单击以打开网络窗格。Disable cache
顶部的复选框。请记住,作为一个鸣叫从@ChromiumDev指出,该设置是只由当devtools是开放的。
请注意,这将导致重新加载所有资源。如果只希望对某些资源禁用缓存,则可以修改服务器与文件一起发送的HTTP标头。
如果您不想使用此Disable cache
复选框,则在打开DevTools的情况下长按刷新按钮将显示一个菜单,其中包含Hard Reload
或的选项Empty Cache and Hard Reload
应该具有相似的效果。了解选项之间的区别。可以使用以下快捷方式:
当您需要每小时清除30次缓存时,清除缓存太烦人了。.因此,我安装了一个名为Classic Cache Killer的Chrome扩展程序,该扩展程序可在每次页面加载时清除缓存。
Chrome商店链接(免费) (现在没有恶意软件!)
现在,我的模拟json,javascript,css,html和数据每次在每次页面加载时都会刷新。
我永远不必担心是否需要清除缓存。
我发现有大约20种适用于Chrome的缓存清理器,但是这种清理器似乎很轻便,而且工作量为零。在更新中,Cache Killer现在可以“始终打开”。
注意:我完全不了解插件作者。我只是觉得有用。
通过按F12,然后(在控制台打开的情况下)拉起Chrome开发者控制台:
右键单击(或按住鼠标左键)在浏览器顶部的重新加载按钮上,然后选择“空缓存和硬重新加载”。
这将超出“硬重载”以完全清空缓存,从而确保通过javascript等下载的任何内容也将避免使用缓存。您不必弄乱设置或其他任何东西,这是一种快速的一键式解决方案。
永久禁用Chrome中还有两个选项可以禁用页面缓存:
1.在注册表中停用Chrome缓存
打开注册表(开始->命令-> Regedit)
搜索: 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的路径
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-application-cache --media-cache-size=1 --disk-cache-size=1
另外,之前的字符是什么 "%1"
?我不知道
当前位于“ 首选项” 选项卡上,这是默认选项。您可能需要向下滚动。自问这个问题以来,此复选框已移动了至少两次。最后我检查了一下,它在底部的中间列中。如果您在较薄的屏幕上打开它,并且“首选项”下有两列,则该列可能位于右上角附近。如有任何更改或评论,请随时更新。我将更新该帖子。
使用Ctrl+ Shift+ R刷新很不错,但是没有得到我需要的一切。仍然有些事情不会刷新,例如存储在js和CSS中的数据。找到了解决方案:适用于Chrome Web开发人员的google工具栏。安装工具栏后,选择选项和“重置页面”。
在修复该错误之前,您可以使用Clear Cache Chrome插件,也可以为其设置键盘快捷键。
安装后,右键单击并转到选项:
检查Automatically reload active tab after clearing data
:
选择Everything
时间段:
然后,您可以转到菜单=>工具=>扩展程序:
单击底部的键盘快捷键:
并设置快捷键,例如Ctrl+ Shift+ R:
chrome网上商店中有一个chrome扩展名为Clear Cache。
我每天都使用它,并且它是我认为非常有用的工具。您可以将其用作重新加载按钮,并清除缓存,如果您还喜欢Cookie,语言环境存储,表单数据等,也可以清除。您还可以定义发生在哪个域。因此,只需在您选择的域上仅需按一下重新加载按钮即可清除所有这些内容。
非常非常棒!
您还可以在选项中为此定义键盘快捷键!
另一种方法是以隐身模式启动Chrome窗口。在这里,缓存也应完全禁用。
不确定您使用的是什么,但是如果您使用的是ASP.Net,则可以执行以下操作,就像超级按钮一样:
<link href="@Url.Content("~/Content/Site.css")?time=@DateTime.Now" rel="stylesheet" />
基本上,它将在每次运行时自动将日期和时间附加到文件的末尾,这意味着由于文件名在技术上有所不同,因此您不必担心会再次被缓存。
我有同样的问题,我尝试过:
然后,我发现不建议将.appcache清单用于非https站点。我在html标记中删除了site.appcache文件及其引用,现在可以看到每个页面的最新版本!
如何临时禁用缓存或以可以看到更改的某种方式刷新页面?
目前尚不清楚您指的是哪个“缓存”。浏览器可以通过几种不同的方法持久地缓存内容。Web存储是其中之一,又Cache-Control
是另一种。
某些浏览器还具有Cache
与Service Workers结合使用的,以创建提供脱机支持的渐进式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()
})
})
到目前为止,Chrome的Cache Killer是最好的选择。由于安装URL的商店URL已关闭,因此您可以在此处下载CRX文件:
https://www.crx4chrome.com/extensions/jpfbieopdmepaolggioebjmedmclkbap/
下载扩展文件后,打开Chrome->更多工具->扩展,然后将CRX文件从文件资源管理器或桌面(取决于下载文件的位置)拖到chrome窗口中以安装扩展。
我当时处于浏览器从磁盘加载缓存数据的情况,即使我检查它是否禁用了缓存(我正在使用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
这是我的情况和解决方案。希望它可以帮助某人。