我通过Delphi中的TEdgeBrowser使用微软的WebView2(目前是11.2,很快可能是11.3)。
我想删除一个特定的cookie。
原则上,使用CoreWebView2Cookie管理器的DeleteCookie方法,这是可能的,如这里的示例所解释的:https://stackoverflow.com/a/64293869/2776981
现在我的问题是:我怎样才能从Delphi访问它?
我通过Delphi中的TEdgeBrowser使用微软的WebView2(目前是11.2,很快可能是11.3)。
我想删除一个特定的cookie。
原则上,使用CoreWebView2Cookie管理器的DeleteCookie方法,这是可能的,如这里的示例所解释的:https://stackoverflow.com/a/64293869/2776981
现在我的问题是:我怎样才能从Delphi访问它?
1条答案
按热度按时间zwghvu4y1#
在安装了足够新的WebView2版本后,EdgeBrowser.ControllerInterface.Get_CoreWebView2()返回的ICoreWebView2还支持ICoreWebView2_2接口(接口ICoreWebView2的扩展),该接口具有Get_CookieManager方法,在此基础上,我提出了此解决方案。
DeleteAllCookies和DeleteCookies都可以工作(Emtpy字符串在DeleteCookies中用作域或路径的"通配符")。
主要的问题,如何从Delphi访问CoreWebView2CookieManager,似乎已经由此得到了答案。
这段代码中的接口声明是用tlibimp.exe创建的,如Stackoverflow这篇文章所述:WebView2 (TEdgeBrowser) updated Delphi interface (e.g. ICoreWebView2Controller2).
以下ShowWebView2Cookies过程可能也有助于试验界面和研究Cookie:
使用Vcl.对话框;