禁用Chromecaching进行网站开发
我正在修改网站的外观(CSS修改),但由于持久性caching令人讨厌,无法在Chrome上看到结果。 我尝试Shift +刷新,但它不起作用。
我怎样才能暂时禁用caching或以某种方式刷新页面,我可以看到更改?
Chrome DevTools可以禁用caching。
F12或右键单击并Inspect Element
以打开DevTools。 现在点击工具栏中的Network
。 最后, 检查顶部的Disable cache
checkbox。
请记住,正如@ChromiumDev的推特所说,这个设置只有在devtools打开的时候才会激活 。
如果您需要每小时清除一次caching30次,则清除caching太烦人了。所以我安装了一个名为“ 经典caching杀手”的Chrome扩展程序,可在每次页面加载时清除caching。
Chrome商店链接(免费) (现在没有恶意软件!)
现在我的模拟JSON,JavaScript,CSS,HTML和数据刷新每次在每一页加载 。
如果需要清除caching,我永远不必担心。
我发现Chrome浏览器大约有20个caching清理工具,但是这个看起来很轻巧,没有任何问题。 在更新中,caching杀手现在可以保持“永远在线”状态。
注:我不知道插件作者。 我发现它很有用。
-
按F12键 ,然后(打开控制台)拉起Chrome开发者控制台:
-
在浏览器顶部的重新加载button上点击右键(或按住鼠标左键),然后select“清空高速caching和硬重新加载”。
这将超越“硬重新加载”完全清空caching,确保通过JavaScript等下载的任何内容也将避免使用caching。 你不必乱搞设置或任何东西,这是一个快速的一枪解决scheme。
还有两个选项可以在Chrome中禁用页面caching :
1.停用registry中的Chromecaching
打开registry(开始 – >命令 – > Regedit)
search: 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“
-
保持原来的pathchrome.exe
-
如果复制该行,请务必检查,如果引号是实际的引号。
2.通过更改快捷方式属性来停用Chromecaching
右键单击Chrome图标,然后在上下文菜单中select“属性”。 将以下值添加到path: –disk-cache-size=1
例如: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" –disk-cache-size=1
重要:
-
有一个空格和连字符之后… chrome.exe“
-
保持原来的pathchrome.exe
除了禁用caching选项(您可以通过开发人员工具窗口右下angular的button – 工具|开发人员工具或Ctrl + Shift + I ),在开发人员工具的networking窗格中,您可以现在右键单击并从popup菜单中select“清除caching”。
如果您不想编辑Chrome的设置,则可以使用隐身模式获得相同的结果。
在加那利海峡(也可能跟着开发和稳定的渠道),这是在“一般”部分下左边的第二个选项。
除此之外,总是可以通过Ctrl + Shift + N切换到隐身模式。尽pipe不幸的是也会结束您的会话。
- F12打开Chrome DevTools
- F1打开DevTools设置
- 检查禁用caching(DevTools处于打开状态) ,如下所示:
这是目前在默认的首选项选项卡上。 您可能需要向下滚动。 这个checkbox被移动了,并且自从这个问题被问到以后,至less被移动了几次。 最后我检查了一下,它在底部的中间一列。 如果您在较薄的屏幕上打开它,并且在“首选项”下有两列,则可能位于右上angular附近。 如果更改或评论,请随时更新此post,我将更新post。
而不是击中“F5”只需点击:
“Ctrl + F5”
要清楚的是,Chrome中的禁用cachingcheckbox(这里是v17,但自v15我相信)不在主要设置UI。 它在开发人员工具设置UI中。
-
从浏览器窗口的扳手图标菜单(首选项菜单)中select工具→开发人员工具
-
在出现的开发者工具UI中,点击右下angular的齿轮图标。
-
检查networking部分中的“禁用caching”checkbox。
使用Ctrl + Shift + R来刷新是不错的,但没有得到我需要的一切。 仍然有些东西不会刷新,比如存储在js和css中的数据。 find了一个解决scheme: 谷歌网页开发工具的谷歌 。 安装工具栏后,select选项和“重置页面”。
在chrome中禁用caching只有在您打开开发工具时才能使用
在错误修复之前,您可以使用清除caching Chrome浏览器插件,也可以为其设置键盘快捷键。
安装完成后,右键点击选项:
Automatically reload active tab after clearing data
:
select时间段的Everything
:
然后你可以去菜单=>工具=>扩展:
点击底部的键盘快捷键:
并设置你的键盘快捷键,例如Ctrl + Shift + R :
实际上,如果您不介意使用带宽,则由于多种原因而禁用caching,并由多个安全站点build议,因此更安全。
铬不应该傲慢地做出决定并强制用户设置。
您可以使用–disk-cache-dir = / dev / null在UNIX上禁用高速caching。
因为这可能会发生意想不到的崩溃,但是如果这样做会明显地指出一个更严重的错误,在任何情况下都应该修复。
这可能有助于某人。
我把我的Nginx装上了疯狂的caching。 因此,禁用networking工具中的caching并明确清除caching不起作用。
一个非常简单但无聊的解决方法是,我只是打开一个新的隐身标签。 令人惊讶的是,它始终工作!
无痕模式下的硬刷新可以在任何时候重新加载相同的模式。
如何改变页面名称以防止页面caching的小书签呢? 在Chrome中,您可以创build一个新的书签,然后将代码粘贴到URL中。 点击书签,页面将重新加载时间戳,以阻止caching。
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;})();
我刚刚被抓到,但不一定是由于铬。
我正在使用jQuery来发出AJAX请求。 我在请求中将caching属性设置为true:
$.ajax({ type: 'GET', cache: true, ....
设置这个错误解决了我的问题,但这并不理想。
我不知道这些数据保存在哪里,但是我知道chrome从来不会在服务器上发出请求。
Chrome网上应用店中有一个名为ClearCache的Chrome扩展。
我每天都在使用它,而且我觉得它是一个非常有用的工具。 你可以使用它作为一个重新加载button,可以清除caching,如果你还喜欢cookies,语言环境存储,表单数据等,也可以定义在这个领域发生。 所以可以清除所有这一切只有重新加载button,无论如何不得不按下 – 在您select的域名。
非常非常棒!
您也可以在选项中为此定义一个键盘快捷键!
另一种方法是在隐身模式下启动Chrome浏览器窗口。 这里的caching也应该完全禁用。
另一个禁用caching的选项是由我的第三个Chrome扩展页面大小检查器提供的 ,它可以像Devtools一样禁用caching。
另外,该扩展可以方便快捷地报告页面大小,caching使用情况,networking请求和网页加载时间。 加上其在Github的开源。
不知道你在用什么,但是如果你使用的是ASP.Net,你可以做下面的工作就像一个魅力:
<link href="@Url.Content("~/Content/Site.css")?time=@DateTime.Now" rel="stylesheet" />
基本上它会自动追加date和时间到文件末尾每次运行,这意味着由于文件名在技术上是不同的,你将永远不必担心它得到caching再次。
现在有更好更快捷的方式(Chrome版本59.xx):
右键单击重新加载图标(url-field左边),出现一个下拉菜单,select第三个选项:'空caching和硬重新加载'。
此选项仅在开发人员工具处于打开状态时可用。 (请注意与选项2的不同之处:“重新加载”-cmd-shift-R)。 没有caching清空在这里!
我怎样才能暂时禁用caching或以某种方式刷新页面,我可以看到更改?
目前还不清楚你指的是哪个“caching”。 浏览器可以持久地caching内容有几种不同的方法。 networking存储就是其中之一, Cache-Control
是另一个。
一些浏览器还有一个与服务工作者结合使用的Cache
,用于创build提供离线支持的渐进式Web应用程序(PWA)。
清除PWA的caching
self.caches.keys().then(keys => { keys.forEach(key => console.log(key)) })
列出caching键的名称,然后运行:
self.caches.delete('my-site-cache')
按名称(即my-site-cache
)删除caching键。 然后刷新页面。
如果刷新后在控制台中看到与工作人员相关的错误,则可能还需要取消注册注册的工作人员:
navigator.serviceWorker.getRegistrations() .then(registrations => { registrations.forEach(registration => { registration.unregister() }) })
嘿,如果您的网站使用PHP,然后将下面的PHP代码片段放在您的html页面的开头:
//dev versioning - stop caching $rand = rand(1, 99999999);
现在无处不在,您可以在脚本或链接元素中加载像CSS或JS-文件这样的资源,并在附加'?'后将生成的随机值附加到请求URL。 通过PHP的URI:
echo $rand;
而已! 不会有浏览器caching你的网站了 – 不pipe是哪一种。
当然,在发布之前删除你的代码,或者简单地将$ rand设置为一个空string,以便再次进行caching。
我已经使用了上面描述的其他选项,但是我发现最好的方法是将以下参数添加到chrome.exe的启动中。
“C:\ Program Files(x86)\ Google \ Chrome \ Application \ chrome.exe”–disk-cache-size = 1 -media-cache = 1
我发现不禁用媒体caching是一个好主意,但这是完整的。
实际上,我想要一个选项来完全禁用caching,使用内存而不是我的磁盘IO(这会使加载时间快10倍!),但我不认为铬或任何浏览器有这样的select。
从版本50(如果我没有记错的话),从Devtool设置中删除“禁用caching”选项。 转到“networking”选项卡,并有“禁用caching”选项。
Chrome的caching杀手是迄今为止最好的select。 由于安装caching杀手的商店URL已closures,因此您可以在此处下载CRX文件:
https://www.crx4chrome.com/extensions/jpfbieopdmepaolggioebjmedmclkbap/
下载扩展文件后,打开Chrome – >更多工具 – >扩展,然后从文件浏览器或桌面(取决于下载文件的位置)将CRX文件拖到Chrome窗口中以安装扩展。
添加这个string的代码给你,它应该做的伎俩。
<meta name="robots" content="noarchive">