我正在修改一个网站's appearance (CSS modifications) but can't看到Chrome上的结果,因为恼人的持久缓存 . 我尝试了Shift刷新但它不起作用 .
如何暂时禁用缓存或以某种方式刷新页面以便我可以看到更改?
除了禁用缓存选项(通过开发人员工具窗口右下角的按钮 - 工具|开发人员工具或Ctrl Shift I),在开发人员工具的网络面板上,您现在可以正确使用单击并从弹出菜单中选择"Clear Cache" .
现在有更好更快的方法(Chrome版本59.x.x.):
右键单击reload-icon(url-field的左侧),然后出现一个下拉菜单,选择第三个选项:'empty Cache and Hard reload' .
此选项仅在开发人员工具打开时可用 . (注意与选项2的区别:'硬重载'-cmd-shift-R) . 没有缓存在这里排空!
使用Ctrl Shift R刷新很好但没有刷新,例如存储在js和css中的数据 . 找到了解决方案:a toolbar of google for chrome web developers . 安装工具栏后选择选项和"reset page" .
当您需要每小时清理缓存30次时清除缓存太烦人了 . 所以我安装了一个名为 Classic Cache Killer 的Chrome扩展程序,可以清除每个页面加载的缓存 .
Chrome Store Link (free)(现在没有恶意软件!)
现在我的模拟json,javascript,css,html和数据刷新 every time every page load .
如果我需要清除缓存,我永远不必担心 .
我找到了大约20个用于Chrome的缓存清理程序,但这个看起来很轻巧且省力 . 在更新中,Cache Killer现在可以保持“始终开启”状态 .
注意:我不知道插件作者的任何方式 . 我发现它很有用 .
将此字符串添加到您的应用中,它应该可以解决问题 .
<meta name="robots" content="noarchive">
It's unclear which "cache" you're referring to. 浏览器可以持续缓存内容的方法有多种 . Web Storage是其中之一,Cache-Control是另一个 .
某些浏览器还具有Cache,与Service Workers结合使用,以创建提供离线支持的Progressive Web Apps(PWA) .
To clear the cache for a PWA
self.caches.keys().then(keys => { keys.forEach(key => console.log(key)) })
列出缓存键的名称,然后运行:
self.caches.delete('my-site-cache')
按名称删除缓存密钥(即 my-site-cache ) . 然后刷新页面 .
my-site-cache
如果在刷新后在控制台中看到任何与工作人员相关的错误,则可能还需要取消注册已注册的工作人员:
navigator.serviceWorker.getRegistrations() .then(registrations => { registrations.forEach(registration => { registration.unregister() }) })
不确定您使用的是什么,但如果您使用的是ASP.Net,您可以执行以下操作:
<link href="@Url.Content("~/Content/Site.css")?time=@DateTime.Now" rel="stylesheet" />
基本上它会在每次运行时自动将日期和时间附加到文件的末尾,这意味着由于文件名在技术上不同,所以您永远不必担心它会再次被缓存 .
在修复错误之前,您可以使用Clear Cache Chrome插件,还可以为其设置键盘快捷键 .
安装后,右键单击并转到选项:
http://j.mp/15ZdA6f
检查 Automatically reload active tab after clearing data :
Automatically reload active tab after clearing data
http://j.mp/15ZdGLh
选择 Everything 作为时间段:
Everything
http://j.mp/15ZdPy7
然后你可以去Menu => Tools => Extensions:
http://j.mp/15ZehfX
单击底部的键盘快捷键:
http://j.mp/15Zepft
并设置键盘快捷键,例如Ctrl Shift R:
http://j.mp/15Zev6M
我刚被抓出来但不一定是因为Chrome .
我正在使用jQuery来发出AJAX请求 . 我在请求中将cache属性设置为true:
$.ajax({ type: 'GET', cache: true, ....
将此设置为 false 解决了我的问题,但这并不理想 .
我不知道这些数据保存在哪里,但我知道chrome从未到达服务器请求 .
实际上,如果您不介意使用带宽,则由于多种原因更加安全,禁用缓存并被许多安全站点建议 .
Chromium不应该傲慢,无法做出决定并对用户实施设置 .
您可以使用--disk-cache-dir = / dev / null在UNIX上禁用缓存 .
由于这是意外的崩溃可能会发生,但如果他们这样做,那将明确指出一个更严重的错误,在任何情况下都应该修复 .
Chrome DevTools可以禁用缓存 .
Right-click 并选择 Inspect Element 打开DevTools . 或者使用以下keyboard shortcuts:
Inspect Element
F12
Mac上的命令选项i在Windows或Linux上
Control Shift i
Click Network 在工具栏中打开网络窗格 .
Network
Check 顶部的 Disable cache 复选框 .
Disable cache
请注意,从@ChromiumDev开始_115957_,此设置为 only active while the devtools are open .
请注意,这将导致重新加载所有资源 . 如果您只想为某些资源禁用缓存,您可以将服务器与文件一起发送 .
如果您不想使用 Disable cache 复选框,长按刷新按钮 with the DevTools open 将显示一个菜单,其中包含 Hard Reload 或 Empty Cache and Hard Reload 的选项,这些选项应具有类似的效果 . 阅读difference between the options . 可以使用以下快捷方式:
Hard Reload
Empty Cache and Hard Reload
按下F12然后(打开控制台)拉起Chrome开发者控制台:
右键单击(或按住左键单击)浏览器顶部的重新加载按钮,然后选择“清空缓存和硬重新加载” .
这将超出“Hard Reload”以完全清空缓存,确保通过javascript等下载的任何内容也将避免使用缓存 . 你不必弄乱设置或任何东西,这是一个快速的一次性解决方案 .
如果您不想编辑Chrome的设置,则可以使用隐身模式获得相同的结果 .
我的第三个Chrome扩展程序Page Size Inspector提供了另一个禁用缓存的选项,它可以像使用Devtools一样禁用缓存 .
此外,扩展程序可以快速报告网页的页面大小,缓存使用情况,网络请求和加载时间方便的方式 . 加上Github的开源 .
Chrome网上商店中有一个名为Clear Cache的Chrome扩展程序 .
我每天都使用它,这是我认为非常有用的工具 . 您可以将其用作重新加载按钮,并且可以清除缓存,如果您还喜欢cookie,区域存储,表单数据等 . 您还可以定义发生这种情况的域 . 因此,只需重新加载按钮即可清除所有这些内容,无论如何必须按 - 在您选择的域上 .
非常非常棒!
您还可以在选项中为此定义键盘快捷键!
另一种方法是以隐身模式启动Chrome窗口 . 此处缓存也应完全禁用 .
只有在打开开发工具时才能在chrome中禁用缓存
如果您正在使用 ServiceWorkers (例如:用于渐进式网络应用程序),您可能还需要在开发工具中的应用程序>服务工作者下检查"Update on reload" .
F12打开Chrome DevTools
F1打开DevTools设置
检查禁用缓存(当DevTools打开时),如下所示:
这是默认情况下的“首选项”选项卡 . 您可能需要向下滚动 . 自从提出此问题以来,此复选框已至少移动了几次 . 最后我查了一下,它位于底部的中间栏 . 如果您在较薄的屏幕上打开并且“首选项”下有2列,则它可能位于右上角附近 . 如果更改或评论,请随时更新此帖子,我会更新帖子 .
如何更改页面名称以防止页面缓存的书签 . 在Chrome中,您可以创建新书签,然后将代码粘贴到网址中 . 单击书签,页面将重新加载时间戳以阻止缓存 .
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.exe的启动中 .
“C:\ Program Files(x86)\ Google \ Chrome \ Application \ chrome.exe”--disk-cache-size = 1 -media-cache = 1
我发现不禁用媒体缓存是一个好主意,但它是为了完整起见 .
实际上我想要一个选项来完全禁用缓存,将内存用于IO而不是我的磁盘(这会使加载时间也快10倍!)但是我不认为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
这是我的情况和解决方案 . 希望它可以帮助某人 .
disable page caching in Chrome for good 还有两个选项:
1. Deactivate Chrome Cache in the Registry
打开注册表(开始 - >命令 - >注册表)
搜索: HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command
HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command
将... chrom.exe“之后的部分更改为此值: –disable-application-cache –media-cache-size=1 –disk-cache-size=1 — "%1"
–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"
"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. Deactivate Chrome cache by changing the shortcut properties
右键单击Chrome图标,然后在上下文菜单中选择"Properties" . 将以下值添加到路径: –disk-cache-size=1
–disk-cache-size=1
示例: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" –disk-cache-size=1
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" –disk-cache-size=1
这可能对某人有帮助 .
我已经操纵了我的Nginx疯狂缓存 . 因此,禁用网络工具中的缓存并显式清除缓存不起作用 .
一个非常简单但又无聊的解决方法是,我只是打开一个新的隐身标签 . 令人惊讶的是,它始终有效!
隐身模式下的硬刷新功能随时可以重新加载模式 .
嘿,如果您的网站使用的是PHP,请在html页面的开头放置一些小的PHP代码段:
//dev versioning - stop caching $rand = rand(1, 99999999);
现在,无论您在脚本或链接元素中加载CSS或JS文件等资源,都会在追加“?”后将生成的随机值附加到请求URL . 通过PHP到URI:
echo $rand;
而已!将不再有浏览器缓存您的网站 - 无论哪种类型 .
当然,在发布之前删除你的代码,或者只是将$ rand设置为空字符串以允许再次进行缓存 .
要明确的是,Chrome中的禁用缓存复选框(此处为v17,但我认为是v15)不在主设置UI中 . 它位于开发人员工具设置UI中 .
从浏览器窗口的扳手图标菜单(首选项菜单)中选择工具→开发人员工具
在显示的开发人员工具UI中,单击右下角的齿轮图标 .
选中“网络”部分中的“禁用缓存”复选框 .
在Canary Channels (也许是开发和稳定 Channels 将跟随),这可以在“General”部分的左侧找到整体的第二个选项 .
除此之外,总是可以选择通过Ctrl Shift N切换到隐身模式 . 即使这样也会结束你的会话 .
从版本50开始(如果我没记错的话),从“开发工具设置”中删除了“禁用缓存”选项 . 转到“网络”选项卡,然后是“禁用缓存”选项 .
Chrome的缓存杀手是迄今为止最好的选择 . 由于安装缓存杀手的商店URL已关闭,您可以在此处下载CRX文件:
https://www.crx4chrome.com/extensions/jpfbieopdmepaolggioebjmedmclkbap/
下载扩展文件后,打开Chrome - >更多工具 - >扩展程序,然后将CRX文件从文件资源管理器或桌面(取决于您下载文件的位置)拖到Chrome窗口中以安装扩展程序 .
我有同样的问题,我试过:
控制转换R,
在F12中禁用缓存
控制F5 .
然后我发现使用 a .appcache manifest for a non https site is deprecated . 我删除了我的site.appcache文件及其在html标签中的引用,现在我看到了每个页面的最新版本!
而不是击中“F5”只需点击:
“Ctrl F5”
30 回答
除了禁用缓存选项(通过开发人员工具窗口右下角的按钮 - 工具|开发人员工具或Ctrl Shift I),在开发人员工具的网络面板上,您现在可以正确使用单击并从弹出菜单中选择"Clear Cache" .
现在有更好更快的方法(Chrome版本59.x.x.):
右键单击reload-icon(url-field的左侧),然后出现一个下拉菜单,选择第三个选项:'empty Cache and Hard reload' .
此选项仅在开发人员工具打开时可用 . (注意与选项2的区别:'硬重载'-cmd-shift-R) . 没有缓存在这里排空!
使用Ctrl Shift R刷新很好但没有刷新,例如存储在js和css中的数据 . 找到了解决方案:a toolbar of google for chrome web developers . 安装工具栏后选择选项和"reset page" .
当您需要每小时清理缓存30次时清除缓存太烦人了 . 所以我安装了一个名为 Classic Cache Killer 的Chrome扩展程序,可以清除每个页面加载的缓存 .
Chrome Store Link (free)(现在没有恶意软件!)
现在我的模拟json,javascript,css,html和数据刷新 every time every page load .
如果我需要清除缓存,我永远不必担心 .
我找到了大约20个用于Chrome的缓存清理程序,但这个看起来很轻巧且省力 . 在更新中,Cache Killer现在可以保持“始终开启”状态 .
注意:我不知道插件作者的任何方式 . 我发现它很有用 .
将此字符串添加到您的应用中,它应该可以解决问题 .
It's unclear which "cache" you're referring to. 浏览器可以持续缓存内容的方法有多种 . Web Storage是其中之一,Cache-Control是另一个 .
某些浏览器还具有Cache,与Service Workers结合使用,以创建提供离线支持的Progressive Web Apps(PWA) .
To clear the cache for a PWA
列出缓存键的名称,然后运行:
按名称删除缓存密钥(即
my-site-cache
) . 然后刷新页面 .如果在刷新后在控制台中看到任何与工作人员相关的错误,则可能还需要取消注册已注册的工作人员:
不确定您使用的是什么,但如果您使用的是ASP.Net,您可以执行以下操作:
基本上它会在每次运行时自动将日期和时间附加到文件的末尾,这意味着由于文件名在技术上不同,所以您永远不必担心它会再次被缓存 .
在修复错误之前,您可以使用Clear Cache Chrome插件,还可以为其设置键盘快捷键 .
安装后,右键单击并转到选项:
http://j.mp/15ZdA6f
检查
Automatically reload active tab after clearing data
:http://j.mp/15ZdGLh
选择
Everything
作为时间段:http://j.mp/15ZdPy7
然后你可以去Menu => Tools => Extensions:
http://j.mp/15ZehfX
单击底部的键盘快捷键:
http://j.mp/15Zepft
并设置键盘快捷键,例如Ctrl Shift R:
http://j.mp/15Zev6M
我刚被抓出来但不一定是因为Chrome .
我正在使用jQuery来发出AJAX请求 . 我在请求中将cache属性设置为true:
将此设置为 false 解决了我的问题,但这并不理想 .
我不知道这些数据保存在哪里,但我知道chrome从未到达服务器请求 .
实际上,如果您不介意使用带宽,则由于多种原因更加安全,禁用缓存并被许多安全站点建议 .
Chromium不应该傲慢,无法做出决定并对用户实施设置 .
您可以使用--disk-cache-dir = / dev / null在UNIX上禁用缓存 .
由于这是意外的崩溃可能会发生,但如果他们这样做,那将明确指出一个更严重的错误,在任何情况下都应该修复 .
Chrome DevTools可以禁用缓存 .
Right-click 并选择
Inspect Element
打开DevTools . 或者使用以下keyboard shortcuts:F12
Mac上的命令选项i
在Windows或Linux上
Control Shift i
Click
Network
在工具栏中打开网络窗格 .Check 顶部的
Disable cache
复选框 .请注意,从@ChromiumDev开始_115957_,此设置为 only active while the devtools are open .
请注意,这将导致重新加载所有资源 . 如果您只想为某些资源禁用缓存,您可以将服务器与文件一起发送 .
如果您不想使用
Disable cache
复选框,长按刷新按钮 with the DevTools open 将显示一个菜单,其中包含Hard Reload
或Empty Cache and Hard Reload
的选项,这些选项应具有类似的效果 . 阅读difference between the options . 可以使用以下快捷方式:在Windows或Linux上
按下F12然后(打开控制台)拉起Chrome开发者控制台:
右键单击(或按住左键单击)浏览器顶部的重新加载按钮,然后选择“清空缓存和硬重新加载” .
这将超出“Hard Reload”以完全清空缓存,确保通过javascript等下载的任何内容也将避免使用缓存 . 你不必弄乱设置或任何东西,这是一个快速的一次性解决方案 .
如果您不想编辑Chrome的设置,则可以使用隐身模式获得相同的结果 .
我的第三个Chrome扩展程序Page Size Inspector提供了另一个禁用缓存的选项,它可以像使用Devtools一样禁用缓存 .
此外,扩展程序可以快速报告网页的页面大小,缓存使用情况,网络请求和加载时间方便的方式 . 加上Github的开源 .
Chrome网上商店中有一个名为Clear Cache的Chrome扩展程序 .
我每天都使用它,这是我认为非常有用的工具 . 您可以将其用作重新加载按钮,并且可以清除缓存,如果您还喜欢cookie,区域存储,表单数据等 . 您还可以定义发生这种情况的域 . 因此,只需重新加载按钮即可清除所有这些内容,无论如何必须按 - 在您选择的域上 .
非常非常棒!
您还可以在选项中为此定义键盘快捷键!
另一种方法是以隐身模式启动Chrome窗口 . 此处缓存也应完全禁用 .
只有在打开开发工具时才能在chrome中禁用缓存
如果您正在使用 ServiceWorkers (例如:用于渐进式网络应用程序),您可能还需要在开发工具中的应用程序>服务工作者下检查"Update on reload" .
F12打开Chrome DevTools
F1打开DevTools设置
检查禁用缓存(当DevTools打开时),如下所示:
这是默认情况下的“首选项”选项卡 . 您可能需要向下滚动 . 自从提出此问题以来,此复选框已至少移动了几次 . 最后我查了一下,它位于底部的中间栏 . 如果您在较薄的屏幕上打开并且“首选项”下有2列,则它可能位于右上角附近 . 如果更改或评论,请随时更新此帖子,我会更新帖子 .
如何更改页面名称以防止页面缓存的书签 . 在Chrome中,您可以创建新书签,然后将代码粘贴到网址中 . 单击书签,页面将重新加载时间戳以阻止缓存 .
我已经使用了上面描述的其他选项,但我发现最好将以下参数添加到chrome.exe的启动中 .
“C:\ Program Files(x86)\ Google \ Chrome \ Application \ chrome.exe”--disk-cache-size = 1 -media-cache = 1
我发现不禁用媒体缓存是一个好主意,但它是为了完整起见 .
实际上我想要一个选项来完全禁用缓存,将内存用于IO而不是我的磁盘(这会使加载时间也快10倍!)但是我不认为chrome或任何浏览器都有这个选项 .
我的情况是浏览器从磁盘加载缓存数据,即使我检查它已禁用缓存(我使用的是Chrome) . 我的所有css和js都是从服务器而不是网页加载的 . 这发生在我的本地和制作上 .
要修复它,我需要在我的URL中添加一个额外的参数来强制浏览器从服务器获取网页,即使控制器也不需要它 .
我使用的是ASP.Net,所以这是我的例子
结果是,它将生成如下链接:http://www.myweb.com/Home/Index?ts=636558555408282209
这是我的情况和解决方案 . 希望它可以帮助某人 .
disable page caching in Chrome for good 还有两个选项:
1. Deactivate Chrome Cache in the Registry
打开注册表(开始 - >命令 - >注册表)
搜索:
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. Deactivate Chrome cache by changing the shortcut properties
右键单击Chrome图标,然后在上下文菜单中选择"Properties" . 将以下值添加到路径:
–disk-cache-size=1
示例:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" –disk-cache-size=1
重要:
后面有一个空格和一个连字符... chrome.exe“
保留chrome.exe的路径
这可能对某人有帮助 .
我已经操纵了我的Nginx疯狂缓存 . 因此,禁用网络工具中的缓存并显式清除缓存不起作用 .
一个非常简单但又无聊的解决方法是,我只是打开一个新的隐身标签 . 令人惊讶的是,它始终有效!
隐身模式下的硬刷新功能随时可以重新加载模式 .
嘿,如果您的网站使用的是PHP,请在html页面的开头放置一些小的PHP代码段:
现在,无论您在脚本或链接元素中加载CSS或JS文件等资源,都会在追加“?”后将生成的随机值附加到请求URL . 通过PHP到URI:
而已!将不再有浏览器缓存您的网站 - 无论哪种类型 .
当然,在发布之前删除你的代码,或者只是将$ rand设置为空字符串以允许再次进行缓存 .
要明确的是,Chrome中的禁用缓存复选框(此处为v17,但我认为是v15)不在主设置UI中 . 它位于开发人员工具设置UI中 .
从浏览器窗口的扳手图标菜单(首选项菜单)中选择工具→开发人员工具
在显示的开发人员工具UI中,单击右下角的齿轮图标 .
选中“网络”部分中的“禁用缓存”复选框 .
在Canary Channels (也许是开发和稳定 Channels 将跟随),这可以在“General”部分的左侧找到整体的第二个选项 .
除此之外,总是可以选择通过Ctrl Shift N切换到隐身模式 . 即使这样也会结束你的会话 .
从版本50开始(如果我没记错的话),从“开发工具设置”中删除了“禁用缓存”选项 . 转到“网络”选项卡,然后是“禁用缓存”选项 .
Chrome的缓存杀手是迄今为止最好的选择 . 由于安装缓存杀手的商店URL已关闭,您可以在此处下载CRX文件:
https://www.crx4chrome.com/extensions/jpfbieopdmepaolggioebjmedmclkbap/
下载扩展文件后,打开Chrome - >更多工具 - >扩展程序,然后将CRX文件从文件资源管理器或桌面(取决于您下载文件的位置)拖到Chrome窗口中以安装扩展程序 .
我有同样的问题,我试过:
控制转换R,
在F12中禁用缓存
控制F5 .
然后我发现使用 a .appcache manifest for a non https site is deprecated . 我删除了我的site.appcache文件及其在html标签中的引用,现在我看到了每个页面的最新版本!
而不是击中“F5”只需点击: