1

使用 DCEF3 TChromium 时,我怎样才能使会话保持活动状态?

例如,如果我去一个网站并登录它,当我关闭我的应用程序并再次打开它时,我需要再次登录。我想让会话保持活跃,就像我使用谷歌浏览器一样。

我尝试在我的应用程序“uses”子句中添加“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.

提前致谢。

4

1 回答 1

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
于 2016-01-06T16:31:34.510 回答