Ron*_*ijm 6 google-chrome clear-site-data
我们有一个与 ASP Core API 通信的 React 前端。
有时我们会检测到前端有问题,包括 Service Worker、本地缓存之类的东西,所以我们想告诉客户端清理它。
我已经实现了Clear-Site-Data (dev-moz) (w3c)作为响应头,如"Clear-Site-Data": "cache", "cookies", "storage", "executionContexts"
在 Firefox 中对此进行测试时,它可以工作,并且在控制台中我看到:
Clear-Site-Data header found. Unknown value “"executionContexts"”. SignIn
Clear-Site-Data header forced the clean up of “cache” data. SignIn
Clear-Site-Data header forced the clean up of “cookies” data. SignIn
Clear-Site-Data header forced the clean up of “storage” data.
Run Code Online (Sandbox Code Playgroud)
在 Chrome 中做同样的事情时,它不起作用,我看到了消息
The request's credentials mode prohibits modifying cookies and other local data.
Run Code Online (Sandbox Code Playgroud)
我试图弄清楚如何修复它,但几乎没有任何参考。只有 7 个结果,主要来自浏览器集成测试日志
所有的文档都说这应该在 Chrome 中实现和工作......知道有什么问题吗?
尝试在收到 Clear-Site-Data 后手动重新加载页面(以便清除本地数据/缓存并且标头不再包含 Clear-Site-Data)。
Firefox 和 Chrome 似乎都不支持executionContexts,它告诉浏览器重新加载原始响应。
如果 header 包含executionContexts,那么浏览器应该忽略它(如您在 Firefox 控制台中看到的那样)。不过您可以尝试通配符映射 (*)。(这也将增加对未来属性的支持)。
Response.AppendHeader("Clear-Site-Data", "\"*\"");
Run Code Online (Sandbox Code Playgroud)
谷歌还在其开源项目 Chromium 中重用了部分 Chrome 源代码。如果你看一下Chromium源代码(https://doss-gitlab.eidos.ic.iu-tokyo.ac.jp/sneeze/chromium/blob/9b22da4739ec7bf54fb8e730662e2ab7996532e0/content/browser/browsing_data/clear_site_data_handler.cc第308行) 。这实现了相同的异常请求的凭据模式禁止修改cookie。正在以某种方式发送标志 LOAD_DO_NOT_SAVE_COOKIES。控制台错误可能是由额外的响应标头引起的,也可能是 Chrome 中存在错误的可能性很小。
| 归档时间: |
|
| 查看次数: |
442 次 |
| 最近记录: |