TChromium:如何保持会话活着

时间:2016-01-05 15:24:18

标签: delphi session-state chromium-embedded tchromium

使用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.

提前致谢。

1 个答案:

答案 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