You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Delphi的TEdgeBrowser/WebView2中访问CoreWebView2CookieManager?

在Delphi中访问CoreWebView2CookieManager删除指定Cookie

核心步骤

要在Delphi 11.2/11.3的TEdgeBrowser中操作WebView2的Cookie管理器,只需遵循以下流程:

  • 等待浏览器初始化完成
    CoreWebView2对象仅在TEdgeBrowser完成初始化后可用,优先在OnCreateWebViewCompleted事件中处理逻辑,或提前判断EdgeBrowser.CoreWebView2是否不为nil。

  • 获取Cookie管理器实例
    直接通过已初始化的CoreWebView2属性获取CookieManager:

    var
      LCookieManager: ICoreWebView2CookieManager;
    begin
      LCookieManager := EdgeBrowser1.CoreWebView2.CookieManager;
    end;
    
  • 调用DeleteCookie删除指定Cookie
    根据Cookie的名称、域名、路径精准删除,避免误删其他Cookie:

    // 删除指定域名、路径下的目标Cookie
    LCookieManager.DeleteCookie('your_cookie_name', '.yourdomain.com', '/');
    
    // 若需匹配所有路径/域名的该Cookie,可传入空字符串
    // LCookieManager.DeleteCookie('your_cookie_name', '', '');
    

完整代码示例

比如在OnCreateWebViewCompleted事件中执行删除操作:

procedure TForm1.EdgeBrowser1CreateWebViewCompleted(Sender: TObject;
  const AResult: HRESULT);
var
  LCookieManager: ICoreWebView2CookieManager;
begin
  if Succeeded(AResult) and Assigned(EdgeBrowser1.CoreWebView2) then
  begin
    LCookieManager := EdgeBrowser1.CoreWebView2.CookieManager;
    LCookieManager.DeleteCookie('auth_token', '.myapp.com', '/');
  end;
end;

注意事项

  • 确保项目引用了Delphi自带的Edge.WebView2单元;
  • 若在按钮点击等其他时机操作,需先判断EdgeBrowser1.CoreWebView2是否已初始化,避免空指针异常。

内容的提问来源于stack exchange,提问作者Matthias B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 05:10:03