使用DCEF3 TChromium时,如何保持会话的活力?
例如,如果我去了一个网站并登录,当我关闭应用程序并再次打开它时,我需要再次登录。我想保持会话的活力,就像我使用谷歌Chrome一样。
我试着在我的应用程序"uses"子句中添加"CefLib",并像下面的代码一样设置"CefCache",但尽管我可以看到文件存储在"cookie"文件夹中,但这似乎对保持会话有效性没有影响:
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
ceflib in 'C:appdcefsrcceflib.pas';
{$R *.res}
begin
CefCache := 'cookies';
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
提前谢谢。
官方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