【问题标题】:Chrome : Hard reload imagesChrome:硬重新加载图像
【发布时间】:2021-02-16 02:07:10
【问题描述】:

要硬刷新缓存的图像,我尝试了多种方法: 比如清除localStoragesessionStorage。发送Clear-Site-Data 标头也不会从浏览器中清除缓存的图像。

location.reload(true);//现在已弃用 这也无济于事

但不走运,我仍然得到旧图像。

我想实现chrome的“空缓存和硬重载”功能。

我不想让图片 URL 独一无二,因为它是从 50 多个地方引用的。

【问题讨论】:

标签: javascript jquery angularjs google-chrome


【解决方案1】:

查看 Cache.delete() Web API

https://developer.mozilla.org/en-US/docs/Web/API/Cache/delete

此示例代码可能会删除所有缓存项。试试看

caches.open('v1').then(function(cache) {
  cache.keys().then(function(keys) {
    keys.forEach(function(request, index, array) {
      cache.delete(request);
    });
  });
})

【讨论】:

  • 我从这里添加了示例代码,但我自己没有尝试。 developer.mozilla.org/en-US/docs/Web/API/Cache/keys
  • 这也无济于事:caches.keys().then((keyList) => Promise.all(keyList.map((key) => caches.delete(key))))
  • 我发现了另一种可能清除缓存、cookie 等的方法。当通过来自example.com/clear 的响应传递时,以下标头将导致与源关联的所有 cookie、缓存和 DOM 可访问存储example.com 被清除,以及同源的执行上下文被绝育和重新加载:Clear-Site-Data: "*" w3.org/TR/clear-site-data
  • 嗨@ozgur 我也尝试过Clear-Site-Data 标题,但没有运气
  • 终于"Clear-Site-Data": "cache" 标头工作了,之前我通过cache 没有双引号,我发现这个答案很有帮助,但由于VPN 它没有显示图像,答案在图像@ 987654326@
猜你喜欢
  • 1970-01-01
  • 2012-05-29
  • 2019-04-16
  • 1970-01-01
  • 2014-01-08
  • 2015-01-21
  • 2023-03-31
  • 2014-10-02
  • 2018-08-19
相关资源
最近更新 更多