带有网络浏览器控件的 VS2019 WinForm 应用程序

VS2019 WinForm app with webbrowser control

我有一个 VS2019 WinForm 应用程序,其表单包含网络浏览器控件。网络浏览器控件的 URL 指向我的 asp.net 网站 HelpForm.aspx 上的一个表单。 HelpForm.aspx 的 URL 具有 aspx 页面可以在代码文件中使用的参数,使用提供的参数进行数据库调用,然后从 SQL 服务器数据库中获取 text/html将 text/html 作为文本应用于 aspx 页面上的标签。该 aspx 页面然后返回到我的 winForm 上的 webbrowser 控件。一切正常。这允许我使用相同的表单从数据库中检索不同的帮助数据。

作为数据库中存储的 text/html 的一部分,一些记录包含用于嵌入 YouTube 视频的代码。这是数据库中内容的示例:

'... 如果在组合框具有焦点时使用鼠标滚轮,情况也是如此。

<object width="560" height="315"><param name="movie" value="https://www.youtube.com/embed/fpXX8mSuDV4"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="https://www.youtube.com/embed/fpXX8mSuDV4" width="560" height="315"></embed></object>

注意:有一个....'



在某些机器上这有效,视频显示与文本内嵌,但在其他机器上我得到一个黑框或白框,左上角有一个小图标。

这似乎与 IE/Edge 有关,但我找不到任何有用的东西来帮助解决这个问题。

有什么想法吗??谢谢

WebBrowser 控件是 stuck in IE7 mode by default,除非您在运行应用程序的每台计算机上编辑注册表。

但即使您可以编辑注册表,您仍然会使用 Internet Explorer。 YouTube 早在 2020 年 3 月就停止了对 Internet Explorer 的所有支持。

不幸的是,您将需要更新您的应用程序以使用更现代的浏览器控件。例如,CefSharp or WebView2 都可以。