C# webview2 не может загрузить всплывающую страницуC#

Место общения программистов C#
Ответить
Anonymous
 C# webview2 не может загрузить всплывающую страницу

Сообщение Anonymous »

Я реализую определенный процесс аутентификации с помощью WebView2. При нажатии на элемент HTML в определенном домене открывается новое окно, в котором отправляется запрос аутентификации сеанса в другой домен, а затем происходит перенаправление на новый URL-адрес. Однако я столкнулся с проблемой при попытке обработать этот процесс в WebView2.
Текущая ситуация:
При нажатии кнопки в определенном домене , открывается всплывающее окно.
Всплывающее окно подвергается следующему процессу:
Первоначальный URL: about:blank (пустая страница)
Затем происходит перенаправление: Домен аутентификации → Конечный целевой домен.
Я попытался обработать всплывающее окно в новом экземпляре WebView2, используя событие NewWindowRequested.
Проблема в том, что когда я устанавливаю e.Handled = true для блокировки всплывающего окна, а затем пытаюсь загрузить URL-адрес в новом экземпляре WebView2, он останавливается на about:blank и не продолжает перенаправление.
Проблемы:
Первоначальный URL-адрес всплывающего окна всегда имеет значение about:blank. , и перенаправление не происходит.
Когда я устанавливаю e.Handled = false, чтобы разблокировать всплывающее окно, всплывающее окно открывается в браузере Edge по умолчанию, и процесс аутентификации и перенаправления работает должным образом.
Однако , в новом элементе управления WebView2 процесс зависает на месте about:blank, и перенаправление не происходит.
Дайте мне знать, если вы хотите внести дополнительные изменения! 😊
Код, который я пробовал:
`webView2.CoreWebView2.NewWindowRequested += (s, e) =>
{
e.Handled = true; // Block the popup

// Create a new WebView2 instance
var popupWebView2 = new WebView2();
popupWebView2.Source = e.Uri; // Initial about:blank URL

popupWebView2.CoreWebView2InitializationCompleted += (sender, args) =>
{
if (args.IsSuccess)
{
// Load the popup URL
popupWebView2.CoreWebView2.Navigate(e.Uri.ToString());
}
};
};`


Подробнее здесь: https://stackoverflow.com/questions/791 ... popup-page
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»