使用DCEF3 TChromium时,如何让会话保持活动状态?
例如,如果我访问网站并登录,当我关闭我的应用程序并再次打开它时,我需要再次登录。我希望让会话保持活力,就像我使用谷歌浏览器一样。
我尝试在我的应用'使用'子句中添加'CefLib'并像下面的代码一样设置'CefCache',但是虽然我可以看到文件存储在'cookies'文件夹中,但似乎没有保留会话活着:
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
ceflib in 'C:\app\dcef\src\ceflib.pas';
{$R *.res}
begin
CefCache := 'cookies';
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
提前致谢。
答案 0 :(得分:2)
官方DCEF3论坛的一个人提供了以下解决方案,经过测试和批准!
CookieManager: ICefCookieManager;
FormCreate:
begin
CookiesPath := ExtractFilePath(Application.ExeName) + 'cookies';
CookieManager := TCefCookieManagerRef.Global(nil);
CookieManager.SetStoragePath(CookiesPath, True, nil);
end;
FormClose:
begin
CookieManager.FlushStore(nil);
end