【问题标题】:How to unload a web browser in WPF, C#如何在 WPF、C# 中卸载 Web 浏览器
【发布时间】:2021-10-13 06:32:11
【问题描述】:

我正在开发一个播放器,其中每个主题都可以采用不同的文件类型(视频、Pdf 文件或 HTML 文件)。所以当玩家点击任何主题时,玩家应该卸载之前的数据类型并显示新的数据类型。 有问题的场景是当播放器单击具有 HTML 文件格式的主题(HTML 文件嵌入了音频文件),然后单击具有任何其他类型的任何主题。似乎 HTML 文件仍在后面运行,并且声音混淆了。 所以我尝试使用以下代码发布 WebBrowser 内容:

                var web = new WebBrowser;
                web.Source = null;
                web.Dispose();

这解决了应用程序在连接到互联网的 PC 上运行时的问题。但是,当同一应用程序在连接到 Intranet 的 PC 上运行时,WebBrowser 仍然在后台运行。 如果您能帮助我,我会非常高兴,我希望我能清楚地解释这个问题。 提前感谢您的帮助。

【问题讨论】:

  • 您是否尝试导航到空白页面?:web.Navigate(default(Uri));
  • 我认为这里真正的问题是,哪个组件正在播放来自访问的 html 页面的声音以及如何阻止它这样做?这可能会变得有些复杂...@mm8 的评论或导航到about:blank 怎么样(@mm8 与default(Uri) 相同?)?

标签: c# wpf webbrowser-control


【解决方案1】:

没有。您不应创建 WebBrowser 类的新实例并将相同的 Source 值设为 null,而应将现有实例设为 null。

使用

existingWebBrowser.Source = null;

【讨论】:

  • 好吧,其实我得到了现有的网络浏览器,我只是在这里更改它。我的网络浏览器是网格的孩子。所以我把那个孩子作为一个 WebBrowser 并改变它的来源。
猜你喜欢
  • 2021-04-04
  • 1970-01-01
  • 2014-05-14
  • 2011-10-26
  • 1970-01-01
  • 2011-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多