在 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);
...
}
我正在创建一个 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);
...
}