【问题标题】:在 Microsoft.Web.WebView2.Wpf 中禁用运行时缓存
【发布时间】:2022-01-23 09:55:30
【问题描述】:
我正在创建一个 webview2 wpf 应用程序,到目前为止一切正常,但是当我尝试加载具有 youtube 链接的 HTML 文件时,它与 autoplay 一起运行良好。
但是当我将 HTML 文件更改为另一个站点时,youtube 视频的音频仍在后台播放,webview2 加载了新内容。
我想要一些东西来禁用要存储的缓存将运行时而不是清除缓存。
如果有人对上述问题有任何想法,请帮助
【问题讨论】:
标签:
c#
.net
wpf
browser-cache
webview2
【解决方案1】:
这是 webview2 在播放外部站点媒体播放器时面临的常见问题。
为了克服这个问题,您必须在将第二个内容加载到 webView 之前创建一个新的 webview2 实例,这将创建新的 Webview 页面,但 UI 仍然不会停止音频,因此也可以使用 Webview.dispose()。
WebView.Dispose()
注意:这将第一次为您提供与 Null 对象引用相关的问题。
所以你在处理之前检查对象。
代码应该是这样的:
主页:
WebViewPage webpage;
private void updateNewContent ()
{
...
WebView2 webView2 = Mywebvew2; // MYwebview2 is UI object from webviewPage,
//you have to pass this object from webview Page
if (webView2 != null)
{
webView2.Dispose();
}
webpage = null;
webpage = new WebViewPage();
GridPrincipal.Children.Add(webpage);
...
}