对 WPF 客户端应用程序中 WebView2 的自定义 UDF 位置进行一些更改。我可以处理浏览器会话吗?

问题描述 投票:0回答:1

我正在 WPF 客户端应用程序中更新 WebView2 的自定义 UDF 位置。当它注销或关闭时,我可以处理浏览器会话吗?我查看了文档:https://learn.microsoft.com/en-us/microsoft-edge/webview2/concepts/user-data-folder。我们的版本 (1.0.1020.30) 不支持 CoreWebView2Profile.ClearBrowsingDataAsync()。我成功删除了UDF文件夹,可能不建议每次都这样做。我的问题是,在不删除UDF的情况下,如果我想清除浏览数据,我应该如何操作? 谢谢

  1. 我尝试使用 CoreWebView2Profile.ClearBrowsingDataAsync() 方法清除所有浏览数据,但我猜我们的 WebView2 版本 1.0.1020.30 不支持它。
  2. 我设法使用以下代码删除UDF文件夹,但我知道不建议每次都删除UDF文件夹:

我的期望是了解正确的方法,帮助我们清除WebView2版本1.0.1020.30中的浏览数据

c# .net wpf webview2
1个回答
0
投票

选项

要清除 WebView2 中的浏览数据,您可以:

  1. 使用
    CoreWebView2Profile.ClearBrowsingDataAsync
    可以让您更精确地控制从 WebView2 状态中删除的内容。
  2. 删除整个用户数据文件夹。
  3. IsInPrivateModeEnabled 设置为
    true
    ,以便在 WebView2 会话结束时清理 WebView2 状态。
  4. 也许找到一个可以调用的 DevTools Protocol 方法

删除整个UDF

只要您同意以下注意事项,删除整个用户数据文件夹是一个不错的选择:

  • 您必须等待 WebView2 会话结束才能删除 UDF。用户数据文件夹中的文件将由 WebView2 浏览器进程保持打开状态。在它退出之前,您不太可能删除整个用户数据文件夹。
  • 首次创建用户数据文件夹会产生轻微的性能成本。您应该测量并确保差异对于您的应用来说是可以接受的。

私下

可以设置 CoreWebView2ControllerOptions.IsInPrivateModeEnabled 属性来启用 InPrivate 模式。此选项类型是

WebView2.EnsureCoreWebView2Async
的可选参数,或者如果您直接创建自己的
CoreWebView2Controller
对象,则可以将其作为可选参数传递给
CoreWebView2Environment.CreateCoreWebView2ControllerAsync

DevTools 协议

如果所有其他方法都失败,您可以检查是否有 DevTools Protocol 方法可以执行您想要的操作。您可以使用

coreWebView2.CallDevToolsProtocolMethodAsync(cdpMethodName, cdpMethodParameters)
来调用 CDP 方法。

© www.soinside.com 2019 - 2024. All rights reserved.