如何在没有所有浏览器历史记录的情况下保持登录浏览器CEF4Delphi?

问题描述

在CEF4Delphi中,可以通过以下方式维护浏览器会话

GlobalCEFApp.PersistSessionCookies := True;
GlobalCEFApp.Cache := 'cache_folder';

由于此,人们可以使嵌入式浏览器保持登录状态,例如,邮件。不幸的是,该解决方案保存了浏览器的整个缓存,包括附件等,这使得缓存文件夹在一段时间后变得非常大。在以前的版本(CEF3)中,可以选择仅管理在磁盘上占用很少的组件:

CookieManager := TCefCookieManagerRef.Global(nil);
CookieManager.FlushStore(nil);

但是我没有找到CEF4的类似解决方案,而该命令

GlobalCEFApp.PersistUserPreferences := True;
GlobalCEFApp.UserDataPath := 'User_Data_folder';

根本不将任何信息保存在创建的文件夹中。

是否有任何方法可以仅保留日志而不保存整个缓存?还是我还没有弄清楚的某些原理,例如删除一些具有保存的缓存的特定文件夹?

注:我的CEF4Delphi版本使用CEF 86.0.21,其中包括Chromium 86.0.4240.183;我正在使用TChromium组件。

解决方法

如果您使用的是全局Cookie管理器,还应该将GlobalCEFApp.PresistSessionCookies设置为True

CEF4Delphi还具有两个属性,可用于在CEF应用程序初始化时删除od缓存或cookie。它们是DeleteCacheDeleteCookies

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...