问题描述
在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。它们是DeleteCache
和DeleteCookies
。