【问题标题】:在 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);
       ...
       }
    

    【讨论】:

    • 我会试试这个
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-26
    • 2011-04-05
    相关资源
    最近更新 更多