delphi - 如何在没有所有浏览器历史记录的情况下保持登录浏览器 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。这些是DeleteCache
和DeleteCookies
。
推荐阅读
- python - 如何解决在 ES_RNN 模型中运行模型拟合的训练错误?
- python - 使用内部函数时,Python 操作数不能与形状 (42,) (21,) 一起广播 - 形状不应该改变,但它会改变
- python - 使用 Python 连接到 Firebird 数据库
- excel - 为图表格式化数据
- node.js - 防止'node_modules'目录被重复创建
- python - 如何处理数百个 CSV,每个 CSV 有数百万行?
- python - Python 是否记得在 if 语句中求值的表达式?
- c++ - 反转数字而不将其转换为 C++ 中的字符串
- java - 将数组值复制到不同的位置
- python - 单击带有 Python 的 Chrome 上的按钮,无需 webdriver