DCEF1:
删除Cookie在DCEF1包装有一个在ICefCookieManager
管理器界面的DeleteCookies
功能。不过,我已经试过下面的代码删除所有cookie,但它始终没对我说:
procedure TForm1.Button1Click(Sender: TObject);
var
CookieManager: ICefCookieManager;
begin
CookieManager := TCefCookieManagerRef.GetGlobalManager;
if not CookieManager.DeleteCookies('', '') then
ShowMessage('DeleteCookies failed!');
end;
幸运的是,还有另外一个选择,删除使用此cookie管理器的cookie。访问所有这些参数,并在访问者函数中将deleteCookie
输出参数赋值为True。小心越来越cookie管理器,它创造了第一次您浏览的地方(在GetGlobalManager
类函数是不安全的,这不是正确的意想不到的结果处理),所以要确保导航后,您将使用此代码:
procedure TForm1.Button1Click(Sender: TObject);
var
CookieManager: ICefCookieManager;
begin
CookieManager := TCefCookieManagerRef.GetGlobalManager;
CookieManager.VisitAllCookiesProc(
function(const name, value, domain, path: ustring; secure, httponly,
hasExpires: Boolean; const creation, lastAccess, expires: TDateTime;
count, total: Integer; out deleteCookie: Boolean): Boolean
begin
deleteCookie := True;
ShowMessage('A cookie from domain ' + domain + ' will be unmercifully ' +
'deleted!');
end
);
end;
DCEF3:
在DCEF3包装中,您可以使用以下内容。积分Eric Santos:
type
CefTask = class(TCefTaskOwn)
procedure Execute; override;
end;
procedure CefTask.Execute;
var
CookieManager: ICefCookieManager;
begin
CookieManager := TCefCookieManagerRef.Global;
CookieManager.DeleteCookies('', '');
end;
procedure ClearCookies;
var
Task: CefTask;
begin
Task := CefTask.Create;
CefPostTask(TID_IO, Task);
end;
ApplicationCacheDisabled:=真实,PageCacheDisabled =真没有什么好这些选项 –