在 Microsoft.Web.WebView2.Wpf 中禁用运行时缓存

Disable runtime cache in Microsoft.Web.WebView2.Wpf

我正在创建一个 webview2 wpf 应用程序,到目前为止一切正常,但是当我尝试加载具有 youtube link 的 HTML 文件时,它与自动播放一起运行良好。 但是当我将 HTML 文件更改为另一个站点时,youtube 视频的音频仍在后台播放,而 webview2 加载了新内容。 我想要一些东西来禁用要在运行时存储的缓存,而不是清除缓存。

如果有人对上述问题有任何想法,请提供帮助

这是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);
   ...
   }