CKEditor插件在删除后缓存在磁盘中。如何强制浏览器重新扫描或删除该缓存?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CKEditor插件在删除后缓存在磁盘中。如何强制浏览器重新扫描或删除该缓存?相关的知识,希望对你有一定的参考价值。

我不确定根本问题是什么(Chrome,CKEditor,php,Ubuntu等),但这基本上是发生了什么:

  1. 使用Composer更新CKEditor,我更改版本并进行更新
  2. 我看到新版本不包含特定的插件(如,Autogrow)
  3. 在使用Git将composer.json的更改从我的本地环境推送到生产之后,我更新了prod服务器
  4. 一切看起来都不错,除了CKEditor的供应商文件夹中不存在的插件正在“从磁盘缓存”加载

我可以隐姓埋名运行Chrome,并验证应该丢失的插件确实丢失了。但是,我不能在Chrome中执行缓存刷新,并让磁盘缓存删除那些不再存在的目录。

有趣的是,android上的Chrome没有这个问题,这就是我在CKEditor没有加载到手机上时发现错误的原因(缺少插件)。

尝试的解决方案:

  • 完全从作曲家中删除CKEditor。推/拉更新。重新添加CKEditor,仍然看到这些插件缓存在磁盘中
  • 更新要版本化的ckeditor.js文件(即ckeditor.js?v = 1.02)
  • Ran composer clearcache
  • 试过PHP的clearstatcache()

我试图找到一个解决方案,我可以从开发人员那里做,而不是作为最终用户。

我附上了缓存在磁盘中的js文件的屏幕截图。

任何帮助表示赞赏。谢谢

enter image description here

编辑:这是:

  • Ubuntu Server 18.04
  • PHP 7.2
  • CKEditor 4.8到4.10
答案

如果您使用Chrome,请按Shift + F5 ..它将清除缓存

另一答案

事实证明此问题已经提出过:

Force CKEDITOR to refresh config

归功于:@giammin

他写了:

CKEDITOR.timestamp='ABCD';

在你链接ckeditor.js之后或者在ckeditor加载它的所有文件之前

这是CKEDITOR用于向其动态加载的所有.js .css文件添加时间戳的变量。

因此每次我更改这些文件时,我都会更新该变量,浏览器会重新加载它们。

这对我有用。我可以看到一些文件仍然使用较旧的时间戳,但出于这个问题的目的,这解决了。再次,归功于@giammin。

以上是关于CKEditor插件在删除后缓存在磁盘中。如何强制浏览器重新扫描或删除该缓存?的主要内容,如果未能解决你的问题,请参考以下文章

CKEditor 5如何从任何小部件/模型/视图中获取单击,更新和删除的事件

从 DOM 中删除编辑器后如何删除 CKeditor 实例

强制 CKEDITOR 刷新配置

CKEditor 提到 - 从提要中删除标记

301重定向后如何防止chrome从磁盘缓存中加载index.html

如何在 Magnolia CMS 中为 CKEditor 添加外部插件?