google-chrome - js缓存 - 禁用浏览器缓存




禁用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窗口。 这里的缓存也应该完全禁用。


从版本50开始(如果我没有记错的话),从Devtool Settings中删除了“Disable cache”选项。 转到“网络”选项卡,并有“禁用缓存”选项。


使用Ctrl + Shift + R刷新很不错,但没有得到我需要的一切。 仍然有些东西不会刷新,比如存储在js和css中的数据。 找到了一个解决方案: Chrome网页开发人员的谷歌工具栏 。 安装工具栏后,选择选项和“重置页面”。


嘿,如果您的网站使用PHP,然后将下面的PHP代码片段放在您的html页面的开头:

   //dev versioning - stop caching
   $rand = rand(1, 99999999);

现在无处不在您将脚本或链接元素中的资源(如CSS或JS-文件)加载到附加'?'后,将生成的随机值附加到请求URL。 通过PHP的URI:

    echo $rand;

而已! 将没有浏览器缓存您的网站了 - 不管是哪种。

当然,在发布之前删除你的代码,或者简单地将$ rand设置为一个空字符串以再次允许缓存。


在chrome中禁用缓存只有在您打开开发工具时才有效


在错误修复之前,您可以使用清除缓存 Chrome插件,也可以为其设置键盘快捷键。

安装完成后,右键点击并选择选项:

http://j.mp/15ZdA6f

Automatically reload active tab after clearing data

http://j.mp/15ZdGLh

选择时间段的Everything

http://j.mp/15ZdPy7

然后你可以去菜单=>工具=>扩展:

http://j.mp/15ZehfX

点击底部的键盘快捷键:

http://j.mp/15Zepft

并设置你的键盘快捷键,例如Ctrl + Shift + R

http://j.mp/15Zev6M


如何改变页面名称以防止页面缓存。 在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;})();

实际上,如果您不介意使用带宽,由于多种原因禁用缓存并由许多安全站点建议,因此更安全。

铬不应该傲慢地做出决定并强制用户设置。

您可以使用--disk-cache-dir = / dev / null在UNIX上禁用高速缓存。

因为这可能会发生意想不到的崩溃,但是如果他们这样做,那么这将明确指出一个更严重的错误,无论如何应该修复这个错误。


我刚刚被抓到,但不一定是由于Chrome。

我正在使用jQuery来发出AJAX请求。 我在请求中将缓存属性设置为true:

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

将其设置为false可以解决我的问题,但这并不理想。

我不知道这些数据保存在哪里,但我确实知道chrome从未在服务器上发出请求。


我已经使用了上述其他选项,但是我发现最好的方法是将以下参数添加到chrome.exe的启动中。

“C:\ Program Files(x86)\ Google \ Chrome \ Application \ chrome.exe”--disk-cache-size = 1 -media-cache = 1

我发现不禁用媒体缓存是一个好主意,但它是完整的。

实际上,我想要一个完全禁用缓存的选项,以便将内存用于IO而不是我的磁盘(这会使加载时间快10倍!),但我认为chrome或任何浏览器都没有该选项。


我有同样的问题,我试过了:

  • 控制转换R,
  • 在F12中禁用缓存
  • 控制F5。

然后我发现, 对于非https网站使用.appcache清单已被弃用 。 我在html标记中删除了我的site.appcache文件及其引用,现在我正在看到每个页面的最新版本!


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

右键单击reload图标(url-field左边),出现一个下拉菜单,选择第三个选项:'空缓存和硬重载'。

此选项仅在开发人员工具处于打开状态时可用。 (注意与选项2的区别:'硬重新加载'-cmd-shift-R)。 这里没有缓存清空!


而不是击中“F5”只需点击:

“Ctrl + F5”


还有两个选项可以在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的路径不变


这可能有助于某人。

我把我的Nginx装上了疯狂的缓存。 因此,禁用网络工具中的缓存并明确清除缓存不起作用。

一个非常简单但无聊的解决方法是,我只是打开一个新的隐身标签。 令人惊讶的是,它一直在运作!

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


  1. F12然后(打开控制台)拉起Chrome开发者控制台:

  2. 在浏览器顶部的重新加载按钮上点击右键(或按住鼠标左键),然后选择“清空缓存和硬重新加载”。

这将超越“硬重新加载”以完全清空缓存,确保通过JavaScript等下载的任何内容也将避免使用缓存。 您无需settings with任何设置或任何东西,这是一个快速的一次性解决方案。


如果您需要每小时清除缓存30次,则清除缓存太烦人了。因此,我安装了名为Classic Cache Killer的Chrome扩展,可在每次加载页面时清除缓存。

Chrome商店链接(免费) (现在没有恶意软件!)

现在我的每一次 页面加载 都会刷新模拟json,javascript,css,html和数据。

如果我需要清除缓存,我永远不必担心。

我找到的Chrome浏览器大约有20个缓存清理工具,但这个看起来很轻巧,没有任何问题。 在更新中,缓存杀手现在可以“始终开启”。

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







browser-cache