相关疑难解决方法(0)

清除 CORS 的浏览器缓存

我需要清除 Chrome 中一个文件的缓存。

\n

我正在设置从我自己的 CDN 加载字体,并添加cache-control: public, max-age=31536000, immutable标题。但是,我没有正确设置 CORS,因此出现 CORS 错误。现在,CORS 错误已修复,但由于缓存控制标头,Chrome 仍在服务旧请求。

\n

注意:我只需要清除一次缓存。我希望字体将来是不可变的。

\n

我尝试过的事情

\n
    \n
  • 从设置中清除最近的浏览器缓存
  • \n
  • 在 Devtools > 网络中,选择“禁用缓存”
  • \n
  • 在 Devtools > 网络中,右键单击网络请求并选择“从缓存中清除”
  • \n
  • 使用 \xe2\x8c\x98\xe2\x87\xa7R 硬重新加载(在 Mac 上)
  • \n
  • 长按左上角的刷新按钮,选择“清空缓存并硬重新加载”(/sf/answers/490062961/
  • \n
\n

我可以确认 CORS 错误有两个原因:

\n
    \n
  • 现在可以在 Safari 中使用(之前不能使用)
  • \n
  • 运行curl -IL -X\'GET\' -H\'Origin: http://localhost:3000\' https:example.com/file返回正确的 CORS 标头
  • \n
\n

相关文章

\n

caching google-chrome browser-cache cache-invalidation google-chrome-devtools

16
推荐指数
0
解决办法
5369
查看次数

Chrome 拒绝清除 Javascript 缓存(即使在硬重新加载和手动清除缓存之后)

正如标题所说,谷歌浏览器拒绝加载较新版本的 Javascript 文件。

我试过了:

  • Ctrl + F5
  • 开发控制台 > 网络选项卡 > 禁用缓存
  • 禁用缓存,然后在开发控制台仍然打开的情况下右键单击刷新 > 清空缓存和硬重新加载
  • 禁用缓存,然后开发控制台仍然打开 Ctrl + F5
  • Chrome 设置 > 从一开始就手动删除所有缓存,然后按 Ctrl + F5

基本上这里列出的所有内容:Chrome 不会清除缓存... ctrl + F5 似乎也不起作用

这些都没有奏效。源面板仍然显示正在加载旧的 Javascript 文件。绝对令人难以置信的是,当我右键单击源面板中的文件,然后选择在新选项卡中打开时,更新后的文件会在新选项卡中打开,但刷新页面后仍会在源面板中显示旧文件开发控制台。

让 Chrome 为我工作的唯一方法是手动附加 ? 以及文件名末尾的随机数。这似乎迫使 Chrome 实际加载新文件。截至目前,我一直在使用 PHP 添加一个

<script type="text/javascript" src="file.js<?php echo '?' . rand(); ?>"></script>
Run Code Online (Sandbox Code Playgroud)

为了在 Chrome 中正确加载任何内容,但这似乎是一个糟糕的解决方案。

我的问题是,如何让 Chrome 从服务器而不是缓存实际重新加载 Javascript 文件?

caching google-chrome browser-cache

12
推荐指数
1
解决办法
3735
查看次数

为什么有人会将(Apache mod_expires参数)ExpiresByType设置为"access plus 0 seconds"?

在回顾这篇文章的答案时,我不明白为什么0秒用于最佳实践:

ExpiresByType text/html "access plus 0 seconds"
Run Code Online (Sandbox Code Playgroud)

认为这意味着每当用户访问网站时,总是会下载html页面而不是从缓存中提取.是对的吗?

这是人们通常为这个变量设置的吗?如果是这样的话?如果没有,哪些场景可以将其设置为0秒?

html javascript apache

2
推荐指数
1
解决办法
2266
查看次数