CKEditor插件在删除后缓存在磁盘中。如何强制浏览器重新扫描或删除该缓存?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CKEditor插件在删除后缓存在磁盘中。如何强制浏览器重新扫描或删除该缓存?相关的知识,希望对你有一定的参考价值。
我不确定根本问题是什么(Chrome,CKEditor,php,Ubuntu等),但这基本上是发生了什么:
- 使用Composer更新CKEditor,我更改版本并进行更新
- 我看到新版本不包含特定的插件(如,Autogrow)
- 在使用Git将composer.json的更改从我的本地环境推送到生产之后,我更新了prod服务器
- 一切看起来都不错,除了CKEditor的供应商文件夹中不存在的插件正在“从磁盘缓存”加载
我可以隐姓埋名运行Chrome,并验证应该丢失的插件确实丢失了。但是,我不能在Chrome中执行缓存刷新,并让磁盘缓存删除那些不再存在的目录。
有趣的是,android上的Chrome没有这个问题,这就是我在CKEditor没有加载到手机上时发现错误的原因(缺少插件)。
尝试的解决方案:
- 完全从作曲家中删除CKEditor。推/拉更新。重新添加CKEditor,仍然看到这些插件缓存在磁盘中
- 更新要版本化的ckeditor.js文件(即ckeditor.js?v = 1.02)
- Ran
composer clearcache
- 试过PHP的
clearstatcache()
我试图找到一个解决方案,我可以从开发人员那里做,而不是作为最终用户。
我附上了缓存在磁盘中的js文件的屏幕截图。
任何帮助表示赞赏。谢谢
编辑:这是:
- 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如何从任何小部件/模型/视图中获取单击,更新和删除的事件