Приложение WinForm VS2019 с управлением веб-браузером

#html #winforms #winforms-to-web

Вопрос:

У меня есть приложение WinForm VS2019 с формой, содержащей элемент управления webbrowser. URL-адрес элемента управления webbrowser указывает на форму на моем asp.net веб-сайт, Справочная форма.aspx. URL-адрес HelpForm.aspx содержит аргументы, которые страница aspx может использовать в файле кода для вызова базы данных с помощью аргументов, предоставленных для извлечения текста/html из базы данных SQL Server, а затем применить этот текст/html в виде текста к метке на странице aspx. Эта страница aspx затем возвращается в мой элемент управления webbrowser в моей WinForm. Все это прекрасно работает. Это позволяет мне использовать одни и те же формы для извлечения различных справочных данных из базы данных.

Как часть текста/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, но я не могу найти ничего полезного, чтобы помочь это исправить.

Есть какие-нибудь идеи ?? Спасибо

Ответ №1:

Элемент WebBrowser управления по умолчанию застрял в режиме IE7, если вы не отредактируете реестр на каждом компьютере, на котором запущено ваше приложение.

Но даже если вы сможете отредактировать реестр, вы все равно будете использовать Internet Explorer. А YouTube прекратил всякую поддержку Internet Explorer еще в марте 2020 года.

К сожалению, вам потребуется обновить приложение, чтобы использовать более современный элемент управления браузером. Например, должны работать CefSharp или WebView2.

Комментарии:

1. Я попробовал CefSharp, и страница работала, за исключением воспроизведения видео, в результате чего YouTube сообщил, что браузер не может воспроизвести видео.

2. Я реализовал WebView2. Я установил свое приложение на компьютер пользователя. Он не работает с компьютера пользователя. Окно формы открывается, но никогда не отображает веб-данные. Он отлично работает на моей машине разработки. Существует ли среда выполнения или что-то, что необходимо установить на компьютере пользователя?

3. Да, вам нужно будет загрузить и установить среду выполнения WebView2.