首页 > 解决方案 > 如何在没有所有浏览器历史记录的情况下保持登录浏览器 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 组件。

标签: delphisession-cookieschromium-embeddedtchromiumcef4delphi

解决方案


如果您使用全局 Cookie 管理器,您还应该设置GlobalCEFApp.PresistSessionCookiesTrue

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


推荐阅读